기술 Q & A QA1886 에서 인용 :
Swift 라이브러리 libswiftCore.dylib를 참조하려고하면 Swift 앱이 충돌합니다.
Q : Swift 언어 앱을 실행할 때 발생하는 장치 콘솔의 libswiftCore.dylib 로딩 오류에 대해 어떻게해야합니까?
A :이 문제를 해결하려면 OU (Subject Organizational Unit)가 팀 ID로 설정된 코드 서명 인증서를 사용하여 앱에 서명해야합니다. iOS 8이 출시 된 후 생성 된 모든 엔터프라이즈 및 표준 iOS 개발자 인증서에는 Swift 언어 앱을 실행할 수있는 적절한 위치에 새로운 팀 ID 필드가 있습니다.
일반적으로이 오류는 다음 중 하나와 유사한 메시지와 함께 장치의 콘솔 로그에 나타납니다. [....] [deny-mmap] 매핑 된 파일에는 팀 식별자가 없으며 플랫폼 바이너리가 아닙니다. / private / var / mobile / 컨테이너 / 번들 / 애플리케이션 /5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1/YourAppNameHere.app/Frameworks/libswiftCore.dylib
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0
Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5
아카이브를 구축하고 앱을 패키징 할 때 새로운 인증서가 필요합니다. 새 인증서 중 하나가 있더라도 기존의 신속한 앱 아카이브를 사임해도 작동하지 않습니다. iOS 8 이전 인증서로 빌드 된 경우 다른 아카이브를 빌드해야합니다.
중요 : 새 Enterprise Distribution 인증서를 취소하고 설정해야하는 경우주의하십시오. 사내 엔터프라이즈 개발자 인 경우 엔터프라이즈 직원 중 한 명이 여전히 해당 엔터프라이즈 배포 인증서로 서명 된 앱으로 사용하는 앱에 서명하는 데 사용 된 배포 인증서를 해지하지 않도록주의해야합니다. 즉시 작동이 중지됩니다. 위의 내용은 Enterprise Distribution 인증서에만 적용됩니다. 기업 / 표준 iOS 개발자는 개발 인증서를 안전하게 폐기 할 수 있습니다.
AirSign 사용자는 사내 인증서의 제목 필드에 누락 된 OU 속성에서 문제가 발생했음을 나타냅니다.
제목 : UID = 269J2W3P2L, CN = iPhone 배포 : 회사 이름, OU = 269J2W3P2L, O = 회사 이름, C = FR
엔터프라이즈 개발 인증서가 있는데 새 인증서를 만들면 문제가 해결되었습니다.