dyld:ライブラリがロードされていません:@ rpath / libswift_stdlib_core.dylib


205

古いXcodeプロジェクトにSwiftクラスを追加すると、このエラーが発生します。

dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib

プロジェクトを再度実行するにはどうすればよいですか?


また、 これを使用してデバッグする方法を示すstackoverflow.com/questions/38364320を確認することもできますotool
Jim Hayes

2017-信じられないことに、Xcodeを再起動するだけでこの厄介な問題が解決しました。
Fattie 2017

回答:


152

私にとって、以前の解決策はどれもうまくいきませんでした。ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIESYESに設定する必要があるビルド設定にフラグ(以前のバージョンでは「埋め込みコンテンツにはSwiftコードが含まれています」)があることがわかりました。デフォルトではNOでした!


これで修正されました。拡張機能の設定をtrueに切り替えました。プロジェクトはobjcですが、extは迅速で、
最初

これも私の決意でした。既存のiOSアプリプロジェクト(ObjC)があり、これにToday Extensionを追加します(プロジェクトの新しいターゲット、Extensionはメインアプリのプラグインです)。アプリのターゲット設定に移動して、ビルド設定とビオラを有効にする必要がありました...問題は解消しました。理にかなっていますが、Xcode 6.0が自動的に構成する他のものがどれだけあるかを考えると、この重要なオプションを見落としていたのは残念です。
hsoi 2014

これで私の問題が解決しました-多くのObjCを持つ古いプロジェクトがあり、最近Swiftを追加し始めました。IPAがビルドされ、Swiftライブラリが含まれていても、このビルド設定がチェックされて新しいIPAが実行されるまで、一部のiOS7デバイスでは機能しませんでした。これは、問題のあるすべてのデバイスで機能しました。
Kendall Helmstetter Gelner 2014

1
これ以外には何も機能しませんでした。あなたはおかしな魔法使いです!
Ricky Hartmann

2
埋め込みコンテンツには、廃止予定のSWIFTコードが含まれていますALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
nivritgupta

91

このエラーは、Swiftの使用を開始するObjective-Cプロジェクトの変換中に問題が発生した場合に発生する可能性があります。問題は、リンカーのビルド設定が適切に構成されていないため、手動で行う必要があることです。Runpath Search Pathsビルド設定を探して、次のように設定します。

$(inherited) @executable_path/Frameworks

ここに画像の説明を入力してください

編集:私はまた、何か他のものが原因で最近発生したこれらのエラーが最近発生していることも付け加えておきます-AppleはSwift自体に変更を加えました。おそらくXcode 6.1または6.1.1以降です。唯一の解決策は、Xcodeを終了し、キーチェーンアクセスで証明書を破棄し、Member Centerに移動して、すべての証明書とプロファイル(ストア内のアプリのプロファイルを除く-削除することはできません)を削除してから、証明書要求プロセス全体をゼロから。


3
私のために働いた。最新のXcodeバージョンにアップグレードし、プロジェクトのこの設定パスが古いバージョンにつながることがわかりました。
ObjectiveTC

1
働いた!! あなたは私の日を救った!xcode 6 GMを使用して、目的Cで迅速なGitHubコントロールを使用していました。ありがとう。
imthegiga 14

1
これも私にとってはうまくいきました。Xcodeを再起動しませんでした。
Dan Loewenherz

1
私のために働いた。ところで、エラーメッセージの最後に「理由:画像が見つかりません」と表示されました。
Peter Zhou、

2
ありがとう神様!ありました!
BoilingLime 2015年

79

なぜこの質問が反対票を投じられているのか本当にわかりません。既存のプロジェクトで最初にSwiftを使用しようとしたときにもこの問題がありました。Xcodeの再起動により、これも修正されました。


20
新しいiOSプロジェクトでswiftを使用しようとしていますが、iOS 8デバイスで実行しようとするとエラーが発生しますが、シミュレータでは実行できません。Xcode、私のラップトップまたは私の電話を再起動しても問題は解決しません。他の解決策はありますか?
David Skrundz 2014年

2
残念ながら、ベータ4では、これはSwiftベースのフレームワークを使用するMacアプリを起動しようとして機能しませんでした。
Craig Otis

@Developerリンクは本当に役立つので、回答に含めてください。
Lachezar Todorov、2015

これを試してみてください、同様にきれいに投げます
スコットマッケンジー、

55

私はこの問題について長く検索しました。この問題の原因はいくつかあります。

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/FrameworksRunpath Search Pathsオプションに追加します

解決策4:

上記のどれもうまくいかない場合、これはうまくいくはずです。AppleはAirSignの投稿で述べられているように忍者パッチを適用した証明書のようです

InHouse証明書

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

証明書を再作成してプロビジョニングするだけです


1
広告2:「ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES」と呼ばれるようになりました(承認された回答の下のコメントを参照)。
ラファエル

1
追加したいと思います... macOSプロジェクトは@executable_path/../Frameworks、iOSプロジェクトが..中央にそれを必要としないところに必要です。ターゲットを1つのOSから別のOSに変換した場合は、この値を変更することが重要です。
Matt Gallagher

41

私の場合、カスタムフレームワークをインポートしようとして、同様のエラーが発生しました。リンクされたフレームワークとライブラリではなく、埋め込みバイナリにフレームワークをインポートする必要がありました。

埋め込みバイナリは、プロジェクト設定->->一般の下にあります


私の日を救った!驚くばかり!
Klaas

1
ソースファイルを個別のターゲットとして埋め込む代わりに、swiftで記述されたコンパイル済みフレームワークを使用しようとすると、このエラーが発生しました。上記の解決策は私にとってもうまくいきました。
アレックスダフランカ2015

おかげで、私の一日を救った。
Badrinath

1
部分的にswiftで記述されたフレームワークを完全に客観的であった古いプロジェクトにリンクしようとした後、私のために働いた 設定は実際にはビルド設定の下にありました。ここでの詳細情報:stackoverflow.com/questions/24163870/...
ペレット

これは、念のため、プロジェクトではなくターゲット設定の下にあります。
Legoless

16

アドホック/エンタープライズディストリビューションビルドでこの問題が発生した開発者は、

開発ポータルから本番証明書を作成してから、配布プロファイルを再生成します。両方をダウンロードしてMacにインストールします。Xcodeビルド設定で正しいプロファイルを選択していることを確認し、アプリを再ビルドします。

ソース:https : //devforums.apple.com/message/1022908#1022908


このリンクで質問に答えることができますが、リンクは壊れます。そのため、リンクから重要な部分を含めることをお勧めします。リンクのみの回答は推奨されません。
Pokechu22、2014

私のエンタープライズアプリで働いていました。ありがとう!
シルバナール2015

15

解決策5:

私の場合、accfewsの回答で言及されているすべての解決策は非常に役に立ちましたが、どれもうまくいきませんでした。プロジェクトのターゲットの「一般」セクションにある「組み込みバイナリ」セクションに迅速なライブラリを追加することで問題を解決しました。おそらく、これはワークスペースに迅速なフレームワークを含めたためでしょうか?それが今コンパイルするものは何でも!スウィフトの準備をしなさい、私はここにいます!


OK、それはうまくいったようです。Swiftプロジェクト用のSwiftコードライブラリを作成しようとしているだけです。どういうわけか私はまだこれが正しいかどうか疑問に思います。しかし、私はその仕事に興奮しています。
kpierce8 14

私は[ビルドフェーズ]タブの[フレームワークのコピー]セクションにフレームワークを含めましたが、ここでは1つのフレームワークを選択できませんでした。「一般」では、この他のフレームワークを選択してビルドフェーズに追加し、アプリをビルドして実行します。奇妙なことに、私はまだシミュレータ上でアプリを実行することができました。
djbp 2015年

クリストフに感謝します。あなたと同じように、すべてのソリューションを試しましたが、迅速なライブラリをプロジェクトに単純にドラッグすることができないことを理解することは明らかに直感的ではありませんでした。ライブラリを組み込みセクションに入れる必要があることは明らかです(より明確に迅速なモジュールです。他のタイプの組み込みものがあるとは思えません)。Xcodeはうまくそれを自動的に検出し、私たちのために仕事をする...しかし、それは私たちの最愛のXCodeの仕事ではないのですができたとしても、)、明確にここに私たちの時間を無駄に...
ミスターBonjourの

さらに、ライブラリがすでにリストにある場合は、「埋め込みと署名」としてマークされていることを確認してください。これは私の問題を修正します。
SquareBox、

10

Xcodeを再起動するだけで問題は解決しました。


私はWindowsのリセットを面白くする次のアップルファンボーイを平手打ちします
Josh

5

私にとって、問題は私のApple Worldwide Developer Relations Certification Authorityが無効であったという事実によるものでした。

こちらからダウンロードしてください:https : //developer.apple.com/certificationauthority/AppleWWDRCA.cer

キーチェーンアクセスにドラッグアンドドロップし、プロジェクトをクリーンアップして実行します。


これは、CloudKitエンタイトルメントを追加した後に発生し始めました。それ以前は、WWDR証明書が無効であることを気にしていなかったと思います。
CommaToast

3

Obj-Cプロジェクトで、迅速なソースファイルの追加を開始しました。以下は私のために問題を修正しました:

  1. リンク: RUNPATH SEARCH PATHS = $(inherited) @executable_path/Frameworks
  2. Swiftコンパイラ-コード生成: EMBEDDED CONTENT CONTAINS SWIFT = YES

テンプレートXcode 6.3から新しいプロジェクトを作成し、プロジェクト設定を古い元のプロジェクトと比較しました。


3

Altキーを押したままにして、[製品]-> [ビルドフォルダーのクリーンアップ]に移動します。

それが誰かを助けることを願っています。


これは質問に対する答えを提供しません。十分な評判得られたら、どの投稿にもコメントできます。代わりに、質問者からの説明を必要としない回答を提供してください。- レビューから
Rakete1111

古いプロジェクトに新しいクラスを追加しようとした後に発生しました。プロジェクトの古さに関する情報はありません。したがって、プロジェクトのクリアとキャッシュの強制的な更新は意味があります。古いプロジェクトはまた、その間に証明書が変更される可能性が高いことを意味します。これは、Apple ProductionおよびDeveloper証明書が毎年期限切れになるためです。アップルのテクニカルQ&Aに従って、エラーの主な理由についてお読みください。developer.apple.com/library/ios/qa/qa1886/_index.html。同じことが私にも起こり、Clean Build Folderはプロジェクトを再度実行させます。...人は試してみましょう
stakahop

iOs証明書をリロードした直後に発生しました。シンプルなクリーン([製品]メニュー)とすべてが正常に機能します;-)
セバスチャンREMY 2016年

完璧に働きました。ありがとうございました。
iSofia

3

これが発生する理由はたくさんあります。楽しい週末を過ごして、これを引き起こす別の問題(コード署名の順序)を見つけたところで、考えられるすべてのソリューションをまとめた要約回答を作成したいと思いました。

  1. 埋め込みコンテンツを含むSwiftコードをプロジェクトに追加します アプリにSwiftコードが含まれている場合は、このフラグを設定する必要があります。
  2. クリーンプロジェクトプロジェクト>クリーンに加えて、DerivedDataおよびBuildディレクトリを削除することもできます。下を見て環境設定の場所のためにDerivedDataBuildあなたのプロジェクトフォルダにあるはずです。
  3. ランパス検索パスにが含まれて@executable_path/Frameworksいることを確認します
  4. 証明書のOU(組織単位)フィールドにApple Team IDが含まれていることを確認します 。Appleがこれを追加します。既存の配布証明書を取り消して新しい証明書を作成し、ダウンロードして、KeyChainにインストールし、すべてのプロビジョニングプロファイルを再生成してダウンロードします。再構築。
  5. Xcodeの再起動。 すべてが基本的には良いが、Xcodeがまだそこに到達していない場合。

それは簡単なことです。独自のコマンドラインビルドを実行している場合は.ipa、アップロードする独自のファイルを作成している可能性があります。その場合、次のことを確認する必要があります。

  1. のSwiftファイルのバージョンがのバージョンとSwiftSupport/iphoneos同じであることを確認してくださいContents/YourApp.app/Frameworks 。Swiftはまだバージョン間でバイナリ互換ではないため、これらのバージョンがアプリのビルドに使用したバージョンであることを確認する必要があります。これらのライブラリはにあり/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneosます。
  2. 最初にライブラリとフレームワークに署名します。あなたはする必要がcodesignライブラリやフレームワークファイル(下Frameworks.app最初にして全体署名フォルダ).appの木を。.app木はで署名する必要がありentitlements.plistますがないフレームワーク。

Swift 3.0がリリースされ、アプリにSwiftをバンドルする必要がなくなると、この問題全体がなくなることを願っています。


2

この問題は、製品証明書付きのアドホック(またはエンタープライズ)モバイルプロビジョニングを使用して発生しました。開発証明書とmobileprovisionに切り替えると問題が解決しました。


4
これにより、アプリを開発中に実行できますが、アドホックまたはエンタープライズプロファイルが機能しない場合、どのように展開しますか?
クリストファージョンソン

2

私のプロジェクトは、いくつかのObjective-Cクラスを含むSwiftプロジェクトです。古いinHouse(エンタープライズ)証明書で署名したときも同じ問題がありました。

次の手順でこれを修正しました。

  1. 新しい証明書とモバイルプロビジョニングを作成して使用します。
    AIRSIGNのブログを参照)
  2. 設定Runpath Search Pathsビルド設定に:$(inherited) @executable_path/Frameworks
    マットの回答を参照)

2

解決策6:

私たちの場合、エンタープライズ配布証明書は取り消されていました。新しい証明書を生成し、プロビジョニングプロファイルを更新すると、問題が修正されました。

(このエラーにはさまざまな原因が考えられます。これが誰かの役に立てば幸いです。)


これで私の問題は解決しました。これを修正しようとする時間の浪費はなんということでしょう。これが他のユーザーの問題を解決することを願っています。カスタムフレームワークでアプリをデバッグできましたが、ビルドマシンのバージョンをジェンキンスで実行できませんでした。配布証明書を取り消して、新しいエンタープライズプロビジョニングプロファイルを生成すると、ビルドが修正されました。
cynistersix 2014年

2
これは、ソリューション4と同じです
2014

2

上記の答えをすべて試しましたが、何もうまくいきませんでした。

ヨセミテにアップデートしてようやく機能しました


2

同じ問題に直面し、正しいコード署名IDを設定すると問題が解決しました(ビルド設定->コード署名ID)。

Appleの技術的な質問に従って、「iOS 8のリリース後に作成されるすべてのエンタープライズおよび標準のiOS開発者証明書には、Swift言語アプリの実行を許可する適切な場所に新しいチームIDフィールドがあります」


2

組み込みバイナリを介して3つのフレームワークを追加すると、それらはリンクフレームワークとライブラリにも追加されます。Linked Frameworks and Librariesの3つのエントリを削除すると、問題が解決します。

Xcodeを再起動してMacを再起動するなどの魔法の方法は私にはうまくいきません。


フォーマットを改善していただきありがとうございます。それはよく見えます。「リンクされたフレームワークとライブラリ」は2つのセクションではなく1つのセクションです。「and」を太字に変更します。@パルトロミエ
Arbipher

特来

2

「リンクされたフレームワークとライブラリ」だけでなく、「組み込みバイナリ」としてフレームワークを追加-私の問題を修正しました。

また、埋め込みコンテンツにSwiftコードを含むフラグをYESに設定します。


1

OS Xの最新バージョン(Yosemite)へのアップグレード

何時間もの試行錯誤の末、私はこの問題を解決しました。 -もちろんこれがあなたのケースに当てはまる場合。

Mac OS XをMavericksからYosemiteにアップグレードするまで同じ問題がありました。 -それは私の問題を修正しました、あなたの問題も修正してくれることを願っています


1

私は、Appleや新しい証明書など、Webで見つかったすべてのソリューションを試しました。成功なし。

6か月間試してからxcodeを実行できる唯一の方法は、私のMacbookに新しいアカウントを作成することでした。


1

通常、このエラーは、このライブラリをビルドフェーズの「ファイルのコピー」セグメントに追加すると消えます。


これはXCode 7.2.1で私のために働いた。[ビルドフェーズ]パネルで+を使用し、[新しいファイルのコピーフェーズ]を選択してから、フレームワークをワークスペースツリーから[ファイルのコピー]セクションにドラッグしました。最後に、宛先:フレームワークを選択しました。クリーンビルドの後、アプリケーションは期待どおりに起動しました。
Rob Smallshire 2016年

1

そして、上記のすべてがあなたを助けなくて、あなたが本当にイライラするなら...すべての中で最高のトリックを試してください:Cleanそして、確かにまたClean Build Folder。:)それが誰かを助けることを願っています!


1

これらの解決策はどれも、私にとって一貫して機能しているようには見えませんでした。成功した実行のカップルごとに、再び失敗します。「Embedded Content Contains Swift Code」フラグは常にYESに設定されていました。

Xcodeを6.3互換に設定するとわかりました。3.2互換に戻すには、問題を解決します。


ありがとうございました!他のすべてを試しました。私はそれを3.2に戻し、プロジェクトをクリーンアップし、Xcodeを再起動して機能しました
gabriellanata

1

私にもこの問題がありましたが、特定できませんでしたlibswiftXCTest.dylib

解決策はXCTest.framework、でTestsターゲットに追加することでしたBuild Phases/Link Binary with Library。メインターゲットをビルドしようとしても、このエラーが発生しました。


0

これは、Swift言語を使用する新しいToday拡張ターゲットを古いプロジェクトに追加したときに表示されました。 プロジェクトを推奨設定に更新することで簡単に修正できます。Xcode 6.0.1


0

Mavericks、Xcode 6.1.1を使用して同じ問題が発生し、iOS 8.1.1を搭載したiPhone5でテストしました。新しい証明書やプロビジョニングプロファイルなど、考えられるすべての解決策を試しましたが、何も役に立ちませんでした。私はへの変更でしたEmbedded Content Contains Swift Codeし、Runpath Search Pathsプロジェクトレベルおよびターゲットレベルでの両方を。

私はヨセミテをインストールしましたが、それ以上変更を加えることなく、動作し始めました。


0

ここで同じ問題がありました。私にとっては、Crashlytics / Fabric / Beta / Twitter / Whatever-they-call-themselvesが、組み込みフレームワークが欠落していたバイナリをアップロードすることでした。アーカイブを作成してから、エンタープライズビルドを標準的な方法でエクスポートした場合、それらは魅力的に機能しました。


0

私の環境:Cocos2d 2.0、Box2d、Objective C

上記の他の回答を行うことに加えて、私は最後に[全般]タブに移動し、WatchKitをオプションにしました。

ターゲット:全般:リンクされたフレームワークとライブラリ:WatchKit.framework:オプション


0

何ヶ月もここですべてを試した後...狂気の定義...新しいMacユーザーのもとでXcodeを起動すると、私はそれを解決しました。

〜/ Library / Developer / *を削除してXcodeを再インストールしたので、それを機能させるために他にフォーマットする手がかりはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.