Tunko Development Diary

dyld: Library not loaded: /System/Library/Frameworks/CryptoKit.framework/CryptoKit 에러 본문

Development/iOS 개발

dyld: Library not loaded: /System/Library/Frameworks/CryptoKit.framework/CryptoKit 에러

Tunko 2020. 3. 24. 12:31

dyld: Library not loaded: /System/Library/Frameworks/CryptoKit.framework/CryptoKit 에러

#iOS

원인

해당 이슈의 원인은 Apple Login 적용으로 인한 Firebase 를 통한 로그인 구현 중에 사용되는 CryptoKit 라이브러리를 import 시킬때 발생되는 문제입니다.

해결방법

https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html

개발자가 직면하는 한가지 과제는 이전 버전의 시스템을 계속 지원하면서 새로운 버전의 OX에 도입된 새로운 기능을 이용하는 것 입니다. 일반적으로 응용프로그램이 프레임 워크에서 새기능을 사용하는 경우 해당 기능을 지원하지 않는 이전 버전의 프레임 워크에서 실행할 수 있습니다. 기능을 사용하려고 하면 이러한 응용 프로그램이 시작되지 않거나 충돌합니다. Apple은 약하게 연결된 심볼에 대한 지원을 추가하여 이 문제를 해결했습니다.

프레임 워크의 심보링 약하게 링크 된 것으로 정의 된 경우 프로세스를 계속 실행하기 위해 런타임에 심볼이 없어도 욉니다. 정적 링커는 심볼을 참조하는 모든 코드 모듈에서와 같이 약하게 연결된 심볼을 식별합니다. 동적 링커는 런타임시 동일한 정보를 사용하여 프로세스를 계속 실행할 수 있는지 여부를 결정합니다. 프레임워크를 업데이트 하는 경우 새 심볼을 약하게 연결하는 것을 고려해야 합니다. 그렇게 하면 프레임워크 클라이언트가 보다 쉽게 지원할 수 있습니다. 또한 자신의 코드에서 약하게 링크 된 심볼이 있는지 확인한 후에 사용해야 합니다.

전체 프레임 워크에 대한 약한 연결

Other Linker Flags 빌드 설정에 다음 명령 행 옵션 스펙을 추가하십시오. 여기서 약하게 링크하려는 프레임 워크의 이름은 다음과 같습니다.

-weak_framework <프레임 워크 _ 이름>

  1. 해당하는 라이브러리 추가후 빌드하면 된다.
반응형
Comments