Troubleshooting
framework file not found
iOS 개린이
2025. 3. 2. 12:25
Xcode에서 특정 .framework 파일을 추가했음에도 불구하고, 빌드 과정에서 링커(Linker)가 해당 프레임워크를 찾을 수 없다는 오류가 발생
에러 메시지
framework 'adlibrary' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
상황
- 다른 프레임워크도 연동해두었었는데, .xcframework 파일은 정상적으로 빌드되지만, .framework 파일만 찾지 못하는 오류 발생
원인
- 해당 문제는 Xcode가 .framework 파일을 제대로 인식하지 못했기 때문이다.
- Framework Search Paths에 .framework 경로가 누락됨
- Xcode의 Build Settings > Framework Search Paths를 확인했을 때, CocoaPods 관련 경로만 포함되어 있었고, 직접 추가한 .framework 파일의 경로는 설정되지 않음.
- 이로 인해 Xcode가 .framework를 찾을 수 없었음.
- 따라서 Search Paths에 프레임워크의 경로를 입력
과정
- Search Paths에 프레임워크의 경로를 입력할 때, $(PROJECT_DIR)/Frameworks로 추가하여 돌려봤는데 에러가 그대로 발생했음.
- 그러면 로컬에 있는 .framework 파일의 경로를 넣어줘야하는가?
- 로컬에 있는 파일의 경로를 넣어주면, 다른 개발자들과 협업하기 위해서는 해당 파일을 계속 따로 추가해줘야하는지?
- 그리고 로컬에 있는 파일 경로를 지정하면, 출시는 어떻게 되는 것인지?
- 개발자 협업 문제 → 프로젝트 파일 내에 .framework 파일 추가로 해결
- 출시 → .framework 파일을 Embed하게 되면, 컴파일러가 빌드 전에는지정된 경로에서 파일을 찾음. 그리고 빌드 완료 후에는 실행파일의 Frameworks 폴더에 .framework의 바이너리가 복제된다.
결론
- 프로젝트 파일에 .framework 파일 추가하고, Embed하기
- Search Paths에 .framework 파일 경로 추가