모바일 프로그래밍/IOS참고자료

[Error] Undefined Symbol: _OBJC_CLASS_$_ 문제

Dannian 2023. 4. 25. 10:50
반응형

회사에서 git 저장소 변경 후 clone 했는데, 일부 프로젝트에서 다음 에러가 발생하는 현상이 있었습니다.

에러 발생 시 문구

찾아보니 ARM64 관련 문제다 LFS 문제다 얘기가 있었는데, 저는 결론적으로 LFS문제였습니다.

 

1. LFS란?

LFS는 Git Large File Storage의 약자로서, 깃에서 큰 파일을 다운로드하거나 업로드 할 때 사용하는 오픈소스 Git Extension입니다.

원래 GitHub에서 파일 1개당 용량이 50MB를 넘으면 warning을, 100MB를 넘으면 error를 뱉는다는데, 이번이 해당 에러를 처음 본거라 다음에 한 번 테스트 해봐야겠네요.

 

2. 문제 확인

위 사진처럼 특정 프레임워크의 실제 사이즈와 LFS를 사용하지 않았을 때 Clone 해서 받은 프레임워크의 사이즈가 다른 현상이 발생해서 에러가 일어났습니다.

 

3. 해결

먼저 터미널에 들어가서 다음 명령어를 입력합니다.

brew install git-lfs

(Homebrew 설치가 안되어있다면 설치를 해주세요. 관련 내용은 나중에 정리...)

명령어를 입력 후 설치가 다 되었으면 다음 명령어를 입력합니다.

git-lfs install

초기화를 진행해주는 것이며, 입력하면 다음 문구가 나옵니다.

저 같은 경우 해당 프로젝트에서는 Pod을 통해서 사용하지 않기 때문에 기존 Clone 된 것을 모두 지우고 다시 받는 식으로 해결했습니다.

만약 CocoaPods을 사용하신다면 Pod 폴더를 지운 후 또는 기존 podfile에서 문제되는 framework를 uninstall 한 후 install을 진행하시면 문제가 해결 됩니다.

 

git-lfs 링크 : https://git-lfs.com/

 

Git Large File Storage

Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

git-lfs.com

참조 2 : https://github.com/navermaps/ios-map-sdk

 

GitHub - navermaps/ios-map-sdk: 네이버 지도 iOS SDK 데모 앱

네이버 지도 iOS SDK 데모 앱. Contribute to navermaps/ios-map-sdk development by creating an account on GitHub.

github.com

 

반응형