dyld : 라이브러리가로드되지 않음 : @rpath with iOS8
Xcode6 및 iOS8을 사용하여 iOS 프레임 워크를 만들고 있습니다. 이것을 iOS 앱과 연결하고 기기에서 실행하려고하면이 오류가 발생합니다.
dyld: Library not loaded: @rpath/FrameworkName.framework/FrameworkName
Referenced from: /private/var/mobile/Containers/Bundle/Application/0F2C2461-A68B-4ABA-A604-B88E6E9D1BB1/AppName.app/AppName
Reason: image not found
프레임 워크의 'Runpath Search Paths'빌드 설정은 기본적으로 다음으로 설정됩니다.
'@executable_path/Frameworks', '@loader_path/Frameworks'
이와 관련된 문서를 찾을 수 없습니다. 이것은 Xcode6에 새로 도입 된 것이었고, 필요한 모든 앱에 프레임 워크를 포함하는 것만으로도 작동 할 것으로 기대합니다.
이 일을하려면
프레임 워크 프로젝트 설정에서 설치 디렉토리를 '/ Library / Frameworks'에서 '@executable_path /../ Frameworks'로 변경합니다.
이 프레임 워크를 포함하는 프로젝트에서 파일 복사 단계를 추가하고이 프레임 워크를 'Frameworks'폴더에 복사합니다. 이렇게하면이 프레임 워크가 'Embedded Binaries'섹션 아래에 나열됩니다.
이 답변을 사용하여 문제가 해결되었습니다 . @ vladof81에 따르면 :
대상의 General 탭에는 Embedded Binaries 필드가 있습니다. 프레임 워크를 추가하면 충돌이 해결됩니다.
Apple 개발자 포럼에 대한 참조가 있습니다 .
CocoaPods를 통해 설치된 라이브러리에서이 오류가 발생했습니다. 빌드 폴더 ( cmd + option + shift + k
)를 정리 한 다음 정리 ( cmd + shift + k
) 를 수행하면 결국이 문제가 해결되었습니다.
아래 컨텍스트에서 프레임 워크를 찾을 수 있는지 확인하십시오.
빌드 단계> 임베드 프레임 워크>
프로젝트 디렉토리의 "Frameworks"섹션에 해당 프레임 워크를 추가 한 후 "Embed Frameworks"에 해당 프레임 워크를 추가하는 것이 아니라면
Carthage를 사용하는 경우
carthage update
터미널에서 실행
프로젝트 설정-> 빌드 단계-> Carthage 복사 프레임 워크로 이동합니다.
입력 파일에 줄 추가 :$(SRCROOT)/Carthage/Build/iOS/YOURLIBRARY.framework
다음 행을 출력 파일에 추가 하십시오. $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/YOURLIBRARY.framework
저에게는 SSL 문제로 인해 Mac (Keychain)의 개발자, 배포 인증서를 다른 프로젝트 중 하나에 대해 '항상 신뢰'로 설정했습니다. '시스템 기본값 사용'으로 다시 변경해야했습니다. 그것은 나를 위해 일하고 있었다!!
위의 솔루션 외에도 아래에서 애플리케이션에 포함 된 프레임 워크의 경로를 다시 확인하십시오.
빌드 설정-> 검색 경로-> 프레임 워크 검색 경로
또한 앱을 시작할 수없고 앱이 위의 메시지와 함께 충돌하는 것과 같은 종류의 문제가있었습니다.
dyld: Library not loaded: @rpath/FrameworkName.framework/FrameworkName Referenced from: /private/var/mobile/Containers/Bundle/Application/xxxxxxxxxxxxxxxxxxx
Reason: image not found
Here is my approach that helped me to resolve this error:
1.Please delete your app from device, Clean the build and and rebuild and run on the device.
2.If above steps does not help you, then please check for below settings :
From "TARGET">"Build Settings">"Runpath Search Paths" & then check for values "$(inherited)" & "@executable_path/Frameworks", Feel free to add incase they don't exist.
Build your app and run it on device
When non of those solution works:
- (Optional) Get a clear knowledge from here on different search path type
- Make sure that your
.framework
file paths are added inBuild Settings -> Framework Search Paths
. You can keep all framework files somewhere inApp/libs/
and add this folder and enable recursively. - Make sure that your
.a
files paths are added inBuild Settings -> Library Search Paths
.
Made the library which shows not loaded changed from required to optional in Linked binaries and frameworks. It is working perfectly now
I installed third party libraries using Cocoapods. Got the same error, tried everything but finally realised I havent had use_frameworks! in my pod file.
So removed the currently installed library, added use_frameworks! line in pod file, reinstalled the libraries and all worked for me.
ReferenceURL : https://stackoverflow.com/questions/28244468/dyld-library-not-loaded-rpath-with-ios8
'IT Share you' 카테고리의 다른 글
같은 너비의 열 만들기 (0) | 2021.01.06 |
---|---|
Twitter Bootstrap 열이 올바르게 정렬되지 않음 (0) | 2021.01.06 |
NumPy의 transpose () 메서드는 배열의 축을 어떻게 변경합니까? (0) | 2021.01.06 |
STL 벡터 저장소가 항상 연속적이라고 가정하는 것이 안전합니까? (0) | 2021.01.06 |
자동 쿠키 처리 C # /. NET HttpWebRequest + HttpWebResponse (0) | 2021.01.06 |