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 파일 경로 추가