태그 보관물: dyld

dyld

dyld : 라이브러리가로드되지 않았습니다 : @ rpath / libswiftCore.dylib 인증서 / 프로 비전

iPhone 4s에서 Swift 앱을 실행하려고합니다. 시뮬레이터에서 잘 작동하며 친구가 iPhone 4s에서 성공적으로 실행할 수 있습니다. iOS 8과 Xcode 6의 공식 릴리스가 있습니다.

나는 시도했다

  • Xcode, iPhone, 컴퓨터 재시작
  • 청소 및 재건
  • 새 인증서 / 프로 비전 프로파일 해지 및 생성
  • 런 패스 검색 경로는 $(inherited) @executable_path/Frameworks
  • 포함 된 컨텐츠에 스위프트 코드가 포함되어 있습니다
  • 코드 서명 아이디는 개발자입니다

아래는 전체 오류입니다

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib



답변

나에게 이전 솔루션 중 어느 것도 효과가 없었습니다. 빌드 설정에 “항상 내장 된 Swift 표준 라이브러리”플래그가 있음을 발견했습니다.이 플래그는 YES로 설정해야합니다. 기본적으로 NO였습니다!

Build Settings > Always Embed Swift Standard Libraries

이를 설정 한 후 다시 빌드하기 전에 프로젝트를 정리하십시오.

예리한 독자들에게 몇 가지 설명
가장 중요한 부분은 다음과 같습니다.

그림 2와 같이 앱에 내장 컨텐츠에 스위프트 코드 포함 (EMBEDDED_CONTENT_CONTAINS_SWIFT) 빌드 설정을 YES로 설정하십시오.이 빌드 설정은 대상 제품에 Swift 코드가 포함 된 컨텐츠가 포함되어 있는지 여부를 지정하여 Xcode가 앱에 Swift 표준 라이브러리를 임베드하도록 지시합니다. YES로 설정하면

여기에 이미지 설명을 입력하십시오

깃발은 이전에 불렸다 Embedded Content Contains Swift Code


답변

놀랍게도, 내가 한 일은 내 프로젝트를 “청소”하는 것 (shift + cmd + K)이었고 효과가있었습니다. 그래도 인증서와 관련이있는 것 같습니다.


답변

제거 할 때이 오류가 발생하기 시작했습니다.

@executable_path/Frameworks

에서 Runpath Search Paths내 빌드 설정한다. 그것을 대체하면 모든 것이 다시 고쳐졌습니다 (소스 제어에 감사드립니다!)

어떻게 도착했는지 모르겠지만 바이너리가 임베디드 Swift 런타임을 찾는 데 필요한 것으로 보입니다.


답변

장치 의 경우 프로젝트 탭의 Embedded binaries섹션에 동적 프레임 워크를 추가해야합니다 General.
여기에 이미지 설명을 입력하십시오


답변

Xcode 8에서는 옵션 Embedded Content Contains Swift Code옵션을 더 이상 사용할 수 없습니다.

이름이 "Always Embed Swift Standard Libraries = YES"

여기에 이미지 설명을 입력하십시오


답변

인증서가 Xcode에서 직접 생성되면 버그라고 생각합니다. 해결하려면 (적어도 Xcode 6.1 / 6A1052d에서) :

  1. 인증서가 관리되는 Apple 개발자 웹 사이트 ( https://developer.apple.com/account/ios/certificate/certificateList.action)로 이동하십시오.
  2. 인증서를 선택하고 ( “상태”아래에 “Managed by Xcode”가 표시되어야 함) 인증서를 “취소”하십시오.
  3. 수동으로 새 인증서 생성하기 위해 여기 지침을 따르 https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-을 SW32
  4. Xcode> 환경 설정> 계정> [Apple ID]로 이동 한 후 팀 이름을 두 번 클릭하고 새로 고침 단추를 클릭하여 인증서 및 프로비저닝 프로파일을 업데이트하십시오.

답변

좋아,이 오류의 다른 원인을 여기에서 공유하십시오. 이것을 분류하는 데 몇 시간이 걸렸습니다.

필자의 경우 Keychain Access에서 인증서의 신뢰 정책은 Always Trust 였으므로 기본값으로 다시 변경하면 문제가 해결되었습니다.

인증서 설정 창을 열려면 키 체인 접근 인증서 목록에서 인증서를 두 번 클릭하십시오.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오