dyld: 라이브러리가 로드되지 않음: @rpath/libswift_stdlib_core.dylib
오래된 Xcode 프로젝트에 Swift 클래스를 추가한 후 이 오류가 발생합니다.
dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
프로젝트를 다시 실행하려면 어떻게 해야 합니까?
저에게는 이전 솔루션 중 어떤 것도 효과가 없었습니다.는 국기가 있다는 것을 발견했습니다.ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
"Embedded Content Content Content Content Content Contains Swift Code"("Embedded Code")는 예입니다.기본적으로 NO였습니다!
이 오류는 Swift 사용을 시작하기 위해 Objective-C 프로젝트를 변환하는 과정에서 오류가 발생할 수 있습니다.문제는 링커 빌드 설정이 제대로 구성되지 않았기 때문에 수동으로 해야 한다는 것입니다.Runpath Search Paths 빌드 설정을 찾아 다음으로 설정합니다.
$(inherited) @executable_path/Frameworks
편집: 최근 완전히 다른 것에 의해 이러한 오류가 반복적으로 발생했다는 것도 덧붙여야 합니다. 애플은 아마도 Xcode 6.1 또는 6.1.1에서 시작하여 Swift 자체를 변경했습니다.유일한 해결책은 Xcode를 종료하고, Keychain Access에서 인증서를 폐기하고, Member Center로 이동하여 모든 인증서와 프로필(Store의 앱 프로필 제외 - 삭제할 수 없음)을 삭제한 다음, 전체 인증서 요청 프로세스를 처음부터 시작하는 것으로 보입니다.
이 질문이 왜 부결되는지 잘 모르겠습니다. Swift를 기존 프로젝트에 처음 사용하려고 했을 때도 이런 문제가 있었습니다.Xcode 재시작으로 이 문제도 해결되었습니다.
저는 이 문제에 대해 오랫동안 조사했습니다.이 문제의 원인에는 여러 가지가 있습니다.
Objectice C 프로젝트에서 Swift 코드/라이브러리와 마주하고 있다면 솔루션 1-2-3을 사용해 보십시오.
새로운 Swift 프로젝트와 관련하여 이 문제에 직면한 경우 솔루션 4가 가장 적합합니다.
솔루션 1:
Xcode를 다시 시작한 다음 컴퓨터와 iPhone을 다시 시작합니다.
솔루션 2:
하여 설정합니다.Always Embed Swift Standard Libraries
)Embedded Content Contains Swift Code
에 플래그를 달다.YES
솔루션 3:
하여 추가합니다.@executable_path/Frameworks
Runpath Search Paths
솔루션 4:
위의 항목 중 하나라도 작동하지 않는 경우에는 이 작업을 수행해야 합니다.애플은 에어사인의 게시물에 언급된 닌자 패치 인증서인 것 같습니다.
사내 인증서에서
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
그들은 OU라는 새로운 필드를 추가했습니다.
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
따라서 인증서 및 프로비저닝을 다시 생성해야 합니다.
저의 경우 사용자 지정 프레임워크를 가져오려다가 비슷한 오류가 발생했습니다.프레임워크를 Linked Frameworks 및 Libraries가 아닌 Embedded Binary로 가져와야 했습니다.
포함된 이진 파일이 프로젝트 설정 -> -> 일반 아래에 있습니다.
Adhoc/Enterprise 배포 빌드에서 이 문제가 발생한 개발자의 경우,
개발 포털에서 프로덕션 인증서를 생성한 다음 배포 프로파일을 재생성하십시오.두 가지를 모두 Mac에 다운로드하여 설치합니다.Xcode 빌드 설정에서 올바른 프로필을 선택했는지 확인하고 앱을 다시 빌드합니다.
출처: https://devforums.apple.com/message/1022908#1022908
솔루션 5:
저의 경우, accups의 답변에 언급된 모든 해결책이 매우 도움이 되었지만 효과가 없었습니다.프로젝트 대상의 "일반" 섹션에 있는 "내장 바이너리" 섹션에 신속한 라이브러리를 추가하여 문제를 해결했습니다.업무 공간에 신속한 프레임워크를 포함했기 때문일까요?뭐가 됐든 간에!준비해 스위프트, 나 여기 있어요!
Xcode를 간단히 다시 시작해 보니 문제가 해결되었습니다.
저에게 이 문제는 제 Apple Worldwide Developer Relations Certification Authority가 무효라는 사실 때문이었습니다.
https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 에서 다운로드하십시오.
키 체인 액세스로 끌어다 놓고 프로젝트를 정리한 다음 실행합니다.
이러한 현상이 발생하는 이유는 여러 가지입니다.이 문제(코드 서명 순서)의 원인이 되는 또 다른 문제를 찾으며 즐거운 주말을 보냈기 때문에 가능한 모든 솔루션을 하나로 묶는 요약 답변을 만들고 싶었습니다.
- 내장된 콘텐츠 추가 프로젝트에 스위프트 코드가 포함되어 있습니다.앱에 Swift 코드가 포함된 경우 이 플래그를 설정해야 합니다.
- 프로젝트 정리.Project > Clean 이외에도 삭제할 수 있습니다.
DerivedData
그리고.Build
디렉터리.위치에 대한 기본 설정 아래에서 확인합니다.DerivedData
.Build
프로젝트 폴더에 있어야 합니다. - Runpath Search Paths에 다음 항목이 포함되어 있는지 확인합니다.
- 인증서에 OU(Organization Unit) 필드에 Apple 팀 ID가 포함되어 있는지 확인합니다. Apple에서 이를 추가하려면 기존 배포 인증서를 해지하고 새 인증서를 생성한 후 KeyChain에 다운로드, 설치하고 모든 프로비저닝 프로필을 다시 생성한 후 다시 빌드하십시오.
- Xcode 다시 시작합니다.기본적으로 다 좋은데 Xcode가 아직 도착하지 않았다면요.
그것은 쉬운 일입니다.에는 자체 명령줄을 일 수 ..ipa
업로드할 파일. 다음 .
- 의 Swift 파일 버전이 의 버전과 동일한지 확인하십시오. Swift는 아직 버전 간에 이진 호환되지 않으므로 이러한 버전이 앱을 빌드한 버전인지 확인해야 합니다.아래에서 이러한 라이브러리를 찾을 수 있습니다.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
. - 먼저 라이브러리와 프레임워크에 서명합니다.당신은 해야 합니다.
codesign
라이브러리 및 프레임워크 파일(아래)Frameworks
에 시대에.app
합니다..app
그 그.무.나..app
트리는 다음과 같이 서명해야 합니다.entitlements.plist
하지만 틀은 아닙니다.
Swift 3.0이 출시되고 더 이상 Swift 앱을 번들로 제공할 필요가 없을 때 이 모든 문제가 해결되기를 바랍니다.
저는 Obj-C 프로젝트에서 빠른 소스 파일을 추가하기 시작했습니다.다음은 제가 이 문제를 해결한 것입니다.
- 연결:
RUNPATH SEARCH PATHS = $(inherited) @executable_path/Frameworks
- Swift 컴파일러 - 코드 생성:
EMBEDDED CONTENT CONTAINS SWIFT = YES
방금 Xcode 6.3 템플릿에서 새 프로젝트를 만들고 프로젝트 설정을 이전의 원래 프로젝트와 비교했습니다.
Alt를 누른 상태에서 Product -> Clean Build Folder...로 이동합니다.
누군가에게 도움이 되길 바랍니다.
생산 인증서가 있는 애드혹(또는 엔터프라이즈) 모바일 프로비저닝을 사용하여 이 문제가 발생했습니다.개발 인증서와 모바일 프로비저닝으로 전환하여 문제를 해결했습니다.
저의 프로젝트는 오브젝티브-C 클래스가 있는 스위프트 프로젝트입니다.이전 인하우스(기업) 인증서로 서명할 때도 같은 문제가 있었습니다.
다음 단계에서 이 문제를 해결했습니다.
- 새 인증서 및 모바일 프로비저닝을 만들고 사용합니다.
(AIRSIGN의 블로그 참조) - 트
Runpath Search Paths
빌드설 대상정:$(inherited) @executable_path/Frameworks
.
(매트의 답변 참조)
솔루션 6:
우리의 경우, 엔터프라이즈 배포 인증서가 취소되었습니다.새 인증서를 생성하고 프로비저닝 프로파일을 업데이트하여 문제를 해결했습니다.
(이 오류에는 여러 가지 원인이 있는 것 같습니다.이것이 누군가에게 도움이 되기를 바랍니다.)
위에 제시된 모든 답변을 시도해 보았지만 아무 것도 되지 않았습니다.
요세미티 업데이트 후 최종 작업 완료
저는 동일한 문제에 직면하여 올바른 코드 사인 아이덴티티를 설정하여 문제를 해결했습니다(빌드 설정->코드 사인 아이덴티티).
Apple 기술 질문에 따르면 "iOS 8이 출시된 후 생성되는 모든 Enterprise 및 표준 iOS 개발자 인증서는 Swift 언어 앱을 실행할 수 있도록 적절한 위치에 새 Team ID 필드를 가지고 있습니다."
Embedded Binary를 통해 세 개의 프레임워크를 추가하면 Linked Frameworks 및 Libraries에도 추가됩니다.Linked Frameworks and Libraries에서 세 개의 항목을 삭제하면 문제가 해결됩니다.
Xcode를 다시 시작하고 Mac을 다시 시작하는 것과 같은 마술적인 방법은 저에게 효과가 없습니다.
프레임워크를 "연결된 프레임워크 및 라이브러리" 대신 "내장 이진"으로 추가 - 문제 해결
또한 Embedded Content Contains Swift Code 플래그를 YES로 설정했습니다.
OS X의 최신 버전으로 업그레이드(요세미티)
몇 시간의 시행착오 끝에 저는 이 문제를 해결했습니다. - 물론 이것이 당신의 경우에 적용된다면요.
Mac OS X를 Mavericks에서 Yosemite로 업그레이드하기 전까지 동일한 문제가 있었습니다. - 문제를 해결했습니다. 당신의 문제도 해결되었으면 좋겠습니다.
저는 애플과 새로운 인증서를 포함하여 웹에서 찾은 모든 솔루션을 시도했습니다.성공하지 못했습니다.
xcode를 실행할 수 있는 유일한 방법은, 6개월간의 노력 끝에, 제 맥북에 새 계정을 만드는 것이었습니다.
일반적으로 이 라이브러리를 빌드 단계의 "파일 복사" 세그먼트에 추가하면 이 오류가 사라집니다.
내 환경:Cocos2d 2.0, Box2d, 목표 C
위의 다른 답변 외에도 마침내 General(일반) 탭으로 이동하여 WatchKit(WatchKit)을 Optional(옵션)로 설정했습니다.
그리고 위의 모든 것들이 당신에게 도움이 되지 않고 당신이 정말로 좌절한다면,다음 중 최고의 트릭을 시도해 보십시오.Clean
을 위해 리고만약위해또한을그또한▁and해위▁be▁also▁just.Clean Build Folder
:) 누군가에게 도움이 되길 바랍니다!
이러한 솔루션 중 어느 것도 일관되게 작동하지 않는 것처럼 보였습니다. 매번 성공적으로 실행한 후에는 다시 실패했습니다.Embedded Content Contains Swift Code 플래그는 항상 YES로 설정되었습니다.
Xcode를 6.3 호환으로 설정했습니다.3.2 호환으로 다시 변경하여 다음과 같은 문제는 다음과 같습니다.
저도 이런 문제가 있었는데, 단지 그것이 위치를 찾지 못했을 뿐입니다.libswiftXCTest.dylib
.
해결책은 다음과 같습니다.XCTest.framework
테스트 대상으로,Build Phases/Link Binary with Library
주 타겟을 구축하려고 할 때도 이 오류가 발생했습니다.
이것은 제가 오래된 프로젝트에 스위프트 언어를 사용하는 새로운 Today 확장 대상을 추가했을 때 나타났습니다.프로젝트를 권장 설정으로 업데이트하여 쉽게 수정할 수 있습니다.Xcode 6.0.1
iOS 8.1.1이 설치된 iPhone5에서 매버릭스, Xcode 6.1.1을 사용하여 테스트한 결과 동일한 문제가 발생했습니다.새로운 인증서와 프로비저닝 프로필을 포함하여 가능한 모든 솔루션을 시도했지만 아무런 도움이 되지 않았습니다.변경한 내용은 다음과 같습니다.Embedded Content Contains Swift Code
그리고.Runpath Search Paths
프로젝트 수준과 목표 수준 모두에서.
저는 이제 요세미티를 설치했고, 더 이상의 변경 없이 작동하기 시작했습니다.
여기서도 동일한 문제가 발생했습니다. 저는 크래시리틱스/패브릭/베타/트위터/뭐라고 부르든 간에 바이너리 자체를 업로드하는 것이었는데, 임베디드 프레임워크가 누락되었습니다.제가 아카이브를 만든 다음 엔터프라이즈 빌드를 표준 방식으로 내보낸다면 그들은 매력적으로 작동했습니다.
몇 달이고 여기 있는 모든 것을 시도한 후에...광기의 정의는...새로운 Mac 사용자 아래에서 Xcode를 시작하는 것이 해결되었습니다.
저는 ~/Library/Developer/*를 제거하고 Xcode를 다시 설치했습니다. 그래서 어떤 포맷을 해야 작동하는지 알 수 없습니다.
언급URL : https://stackoverflow.com/questions/24002836/dyld-library-not-loaded-rpath-libswift-stdlib-core-dylib
'programing' 카테고리의 다른 글
셀이 텍스트 문자열로 시작하는 경우...공식 (0) | 2023.05.10 |
---|---|
MongoDB 컬렉션의 모든 문서에서 키 값을 합계하는 방법 (0) | 2023.05.05 |
ICollectionView 또는 ObservableCollection에 바인딩해야 합니까? (0) | 2023.05.05 |
String의 차이점은 무엇입니까?비어 있고 "(빈 문자열)? (0) | 2023.05.05 |
Bash 스크립트의 경로에서 파일 이름만 가져옵니다. (0) | 2023.05.05 |