본문 바로가기
Dev/Issue

[Error] Library not loaded: @rpath no such file

by Callie_ 2023. 11. 13.

환경

- iOS 17 ↑
- Swift vesrion 5.9
- Xcode version 15
 

문제 

iOS 17, Swift 5.9, Xcode 15 환경에서 프로젝트를 실제 기기에서 실행할 때 dyld[5106]: library not loaded: @rpath/rxswift.framework/rxswift와 같은 긴 오류 메시지가 발생했다. 이 오류는 프로젝트가 이전에 임포트했던 패키지 프레임워크(특히 RxSwift)를 찾지 못하여 앱이 기기에 로드되지 않는 문제였다.

 

접근

'dyld[5106]: library not loaded: @rpath' 키워드로 검색해봤다. 찾아보니까 General 탭의 Frameworks, Libraries, and Embedded Content 설정을 확인해야 하는 것 같았다. 하지만 내 프로젝트에서는 Embed 상태를 'None'에서 'Embed & Sign'으로 변경하는 옵션이 제공되지 않았다. 그러다가 한 블로그에서 Runpath Search Paths 설정을 확인하여 이 오류를 해결했음을 알게 됐다.

 

 

해결

  1.  Build Settings에서 Runpath Search Paths 설정을 확인했다. (기본 설정 메시지는 "$(inherited)@executable_path/Frameworks"였다.)
  2. 찾아본 블로그와 비교했을 때, 따옴표가 포함되어 있고 $(inherited)와 @executable_path/Frameworks가 별도의 줄에 작성되어 있지 않다는 것을 발견했다.
  3.  참조 포스트의 지침에 따라 Runpath Search Paths 설정을 다음과 같이 수정했다.
    • 따옴표 제거
    • 각 경로를 별도의 줄에 작성
  4. 설정을 수정한 결과, 프로젝트가 실제 기기에서 성공적으로 빌드되고 앱이 정상적으로 로드됐다.
 

 

 

 

Reference

 

https://ios-development.tistory.com/1515

 

[iOS - swift] "dyld: Library not loaded @rpath" 에러 해결 방법 (#framework, #import)

사전지식) dyld와 @rpath dyld: dynamic linker (동적 프레임워크 링커) @rpath: (run search path) 실행 중인 앱이 특정 라이브러리나 프레임워크를 찾을 때 동적 라이브러리 검색 경로를 나타내는 토큰 동적 프

ios-development.tistory.com

 

https://sarunw.com/posts/how-to-fix-dyld-library-not-loaded-error/