アプリの起動時にこのエラーが発生します。MacOS High Sierra10.13でXcode9.0(9A235)でビルドしています。Xcode 8.3.3でビルドしてみたところ、同じ結果になりました。プロジェクトは通常ObjectiveCですが、フレームワークYouAppi.frameworkはSwiftです。
dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib
Referenced from: /private/var/containers/Bundle/Application/7D3E2815-4CA3-4258-AEF6-C0626055A8F2/dingbats.app/Frameworks/YouAppi.framework/YouAppi
Reason: image not found
一見、これはこの質問の重複であるように見えますが、エラーはその質問とは異なります。他の質問では、理由は適切な画像が見つかりません。私のものは画像が見つかりません。
私は解決するために以下を試みました:
最近、新しいコンピューターに移動していません。
iOS 11.0.23(15A432)を実行しているiPhone7 +とiOS9.3.5(13G36)を実行しているiPad Mini1で同じ結果が得られます。
またこれを試しました:
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
アイデア?
Swiftで構築されたフレームワークをSwift以外のプロジェクトに含める場合、Swift標準ライブラリを最終出力にコピーする必要があります。Xcodeにはこれに対するチェックボックスがあります(元の質問の#4)が、場合によっては実際には発生しないというバグがあるようです。
armv7やarm64などの複数のアーキテクチャ用に構築されたSwiftで構築されたフレームワークがある場合に、これが発生するという別のスレッドをどこかで見ました。(ここのスレッドを参照してください。)
いずれにせよ、解決策はそれらすべてを手動で追加することです。探しているファイルは/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneosにあります。
私がしたことはこれでした:
手順1.ターミナルを開き、これを入力して、ライブラリをホームディレクトリの新しいフォルダswiftStdLibにコピーします。
cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
mkdir ~/swiftStdLib
cp libswift*.dylib ~/swiftStdLib
ステップ2.Xcode内で、[ General] -> [ Embedded Binaries]に移動し、+を押して追加します。[その他を追加]をクリックして、ホームフォルダ/ swiftStdLibに移動します。すべて選択してEnterキーを押します。
ステップ3.プロジェクトをクリーンアップしてビルドします。
これが誰かを助けることを願っています。
XCODE 11のアップデート:
Xcode 11.3では、Swiftライブラリフォルダーが変更され、Swiftのメジャーバージョン番号が含まれるようになりました。元の質問はXcode9に基づいていたので、これはおそらくXcode 11.3より前に変更されましたが、私はチェックしていません。
新しいフォルダーは/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneosです。
したがって、上記のステップ1は、代わりに次のようになります。
cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos
mkdir ~/swiftStdLib
cp libswift*.dylib ~/swiftStdLib
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加