理由:適切な画像が見つかりません[終了]


129
dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/Stylist.app/Stylist
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib'
(lldb) 

iPhoneでビルドすると、このエラーが発生します。シミュレータ上で構築することができます。すべてのプロビジョニングファイルをやり直しましたが、iPhoneでビルドできません。私のXcodeはこのようなものです

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

これはフレームワークの問題ですか、それとも署名の問題ですか?これはXcode 6では起こりませんでした。ありがとうございます。



World Wide
Developer

iOS 13.3.1のアップデート:この不運なiOSを使用して、ネストされたフレームワークでアプリをインストールしようとした場合、それがバグであることを知って
ください-13.4.1

回答:


389

以前に誤って証明書を失効させたため、以前にこの問題が発生しました。それから私のすべての迅速なプロジェクトはこの問題を抱えています。これを解決するには2つの方法があります。

製品→クリーン(またはCMD+ Shift+ K)をクリックします

または、Xcode設定ファイルを手動でクリーニングします。

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode

1
ターミナルで使用する
Jieyi Hu

問題ない。よろしければ私の答えを選んでください:)
Jieyi Hu

10
Alt + Cleanでも同じようにできると思います
jjxtra

9
プロジェクトのクリーニングは私にとってうまくいきました:SHIFT + CMD + K
B-Rad

9
開発者以外のApple IDを使用してアプリを携帯電話にインストールしていますか?iOS 13.3.1には無料のApple IDでインストールされたアプリが壊れているようですが、埋め込みフレームワークが含まれている場合のみです。すべての依存関係をフレームワークではなくスタティックライブラリとしてリンクできる場合(たとえば、Cocoapodを使用している場合は、Podfileからuse_frameworks!を削除できます)、これで今のところ問題が解決されます。
カシフラバニ

30

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

Objectice CプロジェクトのSwiftコード/ライブラリに直面している場合は、ソリューション1-2-3を試してください。

新しいSwiftプロジェクトでこの問題に直面している場合は、Solution 4が最適です。

解決策1

Xcodeを再起動してから、コンピュータとiPhoneを再起動します

解決策2

プロジェクトのビルド設定に移動し、Embedded Content Contains SwiftコードフラグをYESに設定します

解決策3:

プロジェクトのビルド設定に移動し@executable_path/Frameworks、Runpath 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〜3を実行したのに機能しません。証明書とプロビジョニングを再作成しましたが、機能しません
Satsuki

1
最初にSatsukiが尋ねたのと同じエラーメッセージが表示されていました。解決策4は私のためのトリックをしました。Realm Frameworkで問題が発生しましたが、自分のアプリケーションのアーカイブを作成し、それをiTunesからインストールしようとした場合のみです(それ以外の場合は、デバイスへの直接展開がスムーズでした)。
Peter Ivanics

4人でもやってくれました!AirSignの記事へのリンクは次のとおりです。airsignapp.com
pshah

2
InHouse証明書を編集するにはどうすればよいですか?
Al Wang

1
1と2はうまくいきませんでした。ウィンドウ->プロジェクト、派生データを削除して修正。下位、バグのあるxcode>。<
Cymric

27
Xcode->Product->Clean + Xcode Restart

他の言及された解決策の多くを試した後、私の永遠の恥ずかしいことに、Xcode-> Product-> Cleanを実行してXcodeを再起動することで、トリックが行われました。


2
私も、WWRDの取得、実行パスの確認など、前述の手順の多くを実行しました。この「クリーン」を実行するまで、何も機能しませんでした。どうもありがとうございました!
Joe Famme 2016

いくつかのクリーンアップが失敗した後、私はXcodeを再起動する必要がありました。これはAppleが他のすべてを作るのがどれほど難しいように見えるかを考えた解決策ではあまりにも明白に思われるでしょう
Jeffrey Kern

19

私にとって、この問題はWWRD証明書が原因で発生していました-鉱山は最新の状態でしたが、何らかの理由で、「システムのデフォルトを使用する」ではなく「常に信頼する」に設定されていたため、明らかに違いがありました。


4
証明書の問題の場合は+1。私はすべてを試しましたが、キーチェーンで開発者証明書が「常に信頼する」に設定されていることに気付きました。あなたが言うように「システムデフォルトを使用する」に変更することは完全に機能しました。ありがとうございました!
tylermilner 2016年

1
すべてを試してみましたが、これでうまくいきました。真剣になぜこれをXcodeの一部として修正できないのか...
UKDataGeek

1
非常に重要:証明書のアクセスを「システムのデフォルトを使用する」に変更した後、プロジェクトを
完全にクリーンアップ

2
私の仲間を救った!ありがとう
andrea.rinaldi 2017年

これがこの問題の究極の解決策だと思います。私はインターネットで利用できるほとんどすべての解決策も試しましたが、これ以外はどれも私にとってはうまくいきませんでした。素晴らしいソリューション...
えー。ビハール州2018年

17

キーチェーンを誤ってリセットした場合、キーチェーン内のApple証明書が欠落していることが原因である可能性があります。私は上の答えを、その後、この私の問題を解決します。

同じ問題があり、WWDR(Apple Worldwide Developer Relations Certification Authority)を再ダウンロードすることで修正できました。ここからダウンロード:http : //developer.apple.com/certificationauthority/AppleWWDRCA.cer


1
Xcodeとユーザープロファイルを1つのMacから別のMacに転送した後、私のために修正しました。
RTasche 2016年

1
私の場合はうまくいきます、ありがとう!
アリスチャン

1
ありがとうございます。あなたは救世主です
Josh O'Connor

ありがとう、これを見つけるのにとても時間がかかった。
ラウドマス2017

14

DerivedDataを削除すると、私にとってはうまくいきました。

Xcode-> Preferences-> Locations-> DerivedDataパスの後ろの矢印をクリックして、FinderからDerivedDataフォルダ全体を削除しました。


おかげで、私のために働いた、cordova + xcode 7.2
jujule

1
Window > Projects > My Project > Derived Data > Delete私のために仕事をしました。
マイケルウォーターフォール

Xcode 10.1で私のために働いた。すべてうまくいきましたが、ある幸せな日にXcodeはそれらのエラーを表示し始めました。ありがとう。
Zhebzhik Babich

5

xcodebuildとxcrun PackageApplicationを介してコマンドラインでアプリをビルドし、エンタープライズプロファイルでアプリに署名するときに、私の側で発生しました。CIビルドサーバーでは、証明書はキーチェーンで「常に信頼する」に設定されていました(証明書->情報を見る->信頼->「システムのデフォルトを使用」を「常に信頼する」に変更できます)。これを機能させるには、「システムデフォルトを使用」に設定し直す必要がありました。ソフトウェアの更新と証明書の更新の後に表示されるキーチェーンダイアログを回避するには、最初にこれを「常に信頼」に設定します。


3

XC8にアップデートする際に、さらに混乱を招く恐れがあるため、この問題が発生しました。

これらの提案は、他のスレッドからも解決されませんでした。DIDが機能したのは、「ライブラリとバイナリをリンクする」ビルドフェーズ、「ターゲットの依存関係」ビルドフェーズ、および「リンクされたフレームワークとライブラリ」の一般設定からすべてを削除する場合でした。

ちなみに、私はCarthageを使用してい$(PROJECT_DIR)/Carthage/Build/tvOSて、FRAMEWORK_SEARCH_PATHSビルド設定に追加していたので、私のフレームワークを見つけることができました。

FYI 2、このプロジェクトとフレームワークは100%迅速で、フレームワークは構築中DEFINES_MODULE = YESです。


DEFINES_MODULE = YESでうまくいきました。私のプロジェクトには、objective-CとSwiftの両方が含まれていました。
Jason Huh


2

テクニカルQ&A QA1886から引用:

SwiftライブラリlibswiftCore.dylibを参照しようとすると、Swiftアプリがクラッシュします。

Q:Swift言語アプリを実行しようとしたときに発生するデバイスのコンソールでのlibswiftCore.dylib読み込みエラーについて、どうすればよいですか?

A:この問題を修正するには、サブジェクト組織単位(OU)をチームIDに設定したコード署名証明書を使用してアプリに署名する必要があります。iOS 8のリリース後に作成されたすべてのエンタープライズおよび標準のiOS開発者証明書には、Swift言語アプリの実行を許可する適切な場所に新しいチームIDフィールドがあります。

通常、このエラーは、デバイスのコンソールログに次のいずれかのようなメッセージとともに表示されます。コンテナ/バンドル/アプリケーション/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証明書を取り消してセットアップする必要がある場合は注意してください。社内のエンタープライズ開発者は、アプリの署名に使用された配布証明書を取り消さないように注意する必要がありますすぐに動作を停止します。上記はエンタープライズ配布証明書にのみ適用されます。エンタープライズ/標準iOS開発者は、開発証明書を安全に取り消すことができます。

AirSignの担当者は、社内証明書の件名フィールドにOU属性が欠落していることが問題の原因であることを述べています。

件名:UID = 269J2W3P2L、CN = iPhone配布:会社名、OU = 269J2W3P2L、O =会社名、C = FR

企業開発証明書を持っています。新しい証明書を作成すると問題が解決しました。


これを英語で説明できますか?
UKDataGeek 2016

1

あなたはおそらくそのライブラリに正しいアーチを持っていません、あなたはすることができます

file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib

そのライブラリにあるアーチが表示されるはずです...どのようにリンクしているかはわかりませんが、おそらく正しい方法ではありません(libswiftcoreがファクトリライブラリの場合、アドオンライブラリの場合は、おそらく正しくコンパイルされていません)


こんにちは、回答ありがとうございます。質問があります。答えであなたは言った、そしてそれはあなたにその図書館にあるアーチを示すべきである。どのようにそれを表示しますか。
Satsuki、

コマンドはファイルと呼ばれます...しかし、電話のパスではなく、Macのローカルバージョンを見つける必要があると思います...
Grady Player

1

私もこの問題を抱えていましたが、上記以外のいくつかの投稿では何もうまくいきませんでした。

配布用と開発用のバンドルIDが異なるため、私はバンドルIDを変更しました。

私のハードウェアはこのプロビジョニングで許可されており、私のチームアカウントは有効ですが、他のフレームワークで上記のエラーをスローしていました。

古いバージョンのアプリを携帯電話から完全に削除する必要があることがわかりました。標準の方法で削除するだけではありません。

解決 :

  1. ターゲット電話が接続されていることを確認してください
  2. xcodeメニュー内から[ウィンドウ>デバイス]をクリックします
  3. 左側のメニューでターゲットデバイスを選択します。
  4. 右側には、デバイス内のアプリケーションのリストがあります。テストしようとしているアプリケーションを見つけて削除します。

明らかに、同じアプリを同じバンドルの異なるバンドルIDでインストールする場合、最初から完全に起動しないと、混乱するフレームワークへの参照がいくつかあります。

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


バンドルIDが変更されていません。そして、上記の提案のいずれも問題を解決しませんでした(->クリーン、手動で削除、すべてを再起動、そして毎回iPhoneからアプリを手動で削除する、など)。修正されたクリストファーの提案に従うだけで、再び何も掃除することなく即座に考えます。[iPhone 5; iOS 9.3.5; Xcode 7.3]
marco

1

私はプロジェクトをクリーンアップし、Clean Build Folder代わりに製品メニューを使用しました


ビルドフォルダーのクリーニングのショートカット:alt + cmd + shift + k
Ori

1

以下の手順で問題は解決しました。

1)動的ライブラリのインストール名は「@loader_path」である必要がありました

2)メインプロジェクトでは、ランパス検索パスは "@loader_path"と "@ loader_path / Frameworks"でなければなりません

3)キーチェーン使用ビューから->期限切れの証明書を表示し、すべてを削除しました。

4)配布証明書を削除して再インストールしました。

5)developer.apple.com/certificationauthority/AppleWWDRCA.cerをダウンロードしてインストールしました。


1

私は最近この問題に直面しました。私はすべての可能な解決策を試しましたが、何もうまくいきませんでした。最後にXcodeを終了し、キーチェーンの証明書を削除して、すべてをインストールしてMacを再起動し、再起動しました。幸いにもそれは魅力のように働きました:)


1

同じ問題があり、を再ダウンロードすることで修正できましたWWDR (Apple Worldwide Developer Relations Certification Authority)ここからダウンロード:

キーチェーンで[ 常に信頼する]に設定します。に変更Use System Default

それは私のために働きます、私はこれがあなたを助けることを望みます


1

私の場合、キーチェーンは証明書を信頼できないものとして表示しています。この問題を解決するために、証明書の信頼オプションを「常に信頼する」に設定しました。証明書を「常に信頼する」に設定することがクラッシュの主な原因でした。アプリケーションをデバイスにインストールできませんでした。これを解決するには、信頼オプションを「常に信頼する」ではなく「システムデフォルト」に設定します。


1

Xamarin Studioで作業していて、PCLベイトとスイッチトリックを実行する必要があるポータブルライブラリを参照している場合も、同じ現象が発生します。これは、参照元のプロジェクトが参照先のライブラリに関して古くなっている場合に発生します。共通ライブラリを新しいフレームワークに更新し、パッケージを更新しましたが、iOSパッケージを一致するように更新していません。パッケージを更新すると、このエラーは解決しました。


1

@Jieyi Hu Answerを試した後でも、この問題が発生する場合があります。それは修正されたように見えるかもしれませんが、それが再び来る場合(おそらくxCode 9で)。

ただし、この回避策は機能するようです(Cocoapods 1.5.xに適用)。

  1. プロジェクトをきれいにする
  2. Xcodeを閉じてDerivedDataを削除する
  3. プロジェクトでPodfileを開き、これを追加します。

    post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end

  4. ポッドの更新

出典:

https://github.com/evgenyneu/Cosmos/issues/105

https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911

ありがとう@Cédric



0

ローカルのキーチェーンを確認して問題を解決します。login.keychainに適切な証明書を保持してください


Stack Overflowへようこそ!これは質問に対する答えを提供しません。批評したり、著者に説明を求めたりするには、投稿の下にコメントを残します。自分の投稿にはいつでもコメントできます。十分な評判得ると、どの投稿にもコメントできるようになります。関連しているが異なる質問がある場合は、コンテキストを提供するのに役立つかどうか、この質問を参照する新しい質問をしてください。
ddb

0

プロジェクトにリンクする(直接または間接的に)動的フレームワークごとに、証明書(プロビジョニングプロファイルではなく証明書のみ)を設定する必要があります。ここに画像の説明を入力してください


0

私の場合、Xcodeによって作成され、ダウンロードされたすべての証明書を削除した後。xcode 8.1にアプリの認証を管理させましょう。これが誰かを助けることを願っています。


0

この問題はシミュレータでのみ発生しました。これは、アプリケーションの一部の無効なエンタイトルメントに関連しているようですが、デバイスで実行した場合、問題は発生しません。


0

私はこれらのトリックを使用して解決しました。

ステップ1:

プロジェクトのビルド設定に移動し、@ executable_path / FrameworksをRunpath Search Pathsオプションに追加します

ステップ2:

ターゲットのビルド設定に移動し、@ executable_path / FrameworksをRunpath Search PathsオプションとFramework Search Pathsに追加します。

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

ステップ3:

WWDR(Apple Worldwide Developer Relations Certification Authority)を再ダウンロードし、[システムのデフォルトを使用]オプションに設定します。

ステップ4:

ターミナルを使用してすべての派生データを削除

rm -rf〜/ライブラリ/ Developer / Xcode / DerivedData / *

ステップ5

すべての証明書を削除し、キーチェーンに再インストールしました。「システムデフォルトを使用」オプションを有効にしました。

ステップ6:

Xcodeを再起動します。


0

同じ問題に直面した

  1. 開発者証明書の有効期限が切れたため、新しい開発者証明書を作成してダウンロードしました
  2. これを私のために働くxcodeをきれいにして再起動してください

0

XCode 9でこの問題に遭遇しました。上記のいずれも解決しませんでした。これは私のためのトリックをしました:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"$(PROJECT_DIR)(再帰的)


0

これは私のエラーを解決しました

WWDR(Apple Worldwide Developer Relations Certification Authority)を再ダウンロードし、[システムのデフォルトを使用]オプションに設定します。


0

私の場合、使用していたポッドの1つに問題がありました。そのポッドを削除して、そこからコードを手動でプロジェクトに配置することになりました。


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