Facebook-sdk-for-unity: [バグ] Dyld メッセージ: ライブラリがロードされていません: @rpath/libswiftCore.dylib (iOS 9.3.2)

作成日 2020年12月24日  ·  15コメント  ·  ソース: facebook/facebook-sdk-for-unity

チェックリスト

環境

ここで開発環境を説明し、できるだけ多くの詳細を説明してください。 それらを持っている場合は、必ず次のものを含めてください。

  • Unity エディターのバージョン: 2018.4.3f1
  • Unity SDK バージョン: 8.1.1
  • インストール プラットフォームとバージョン: iOSバージョン9.3.2

目標

何を達成したいですか?

何が起こると思いますか?

実際に何が起こったのですか? スタックトレースを提供できますか?

この問題を再現するために必要な手順は何ですか?

問題の追跡に役立つように、コード サンプルとその他の詳細情報を提供してください。 問題を再現できるテスト プロジェクトへのリンクを提供していただければ、修正の速度と品質の両方で非常に役立ちます。

注:読みやすいようにコードをフォーマットすることを忘れないでください。

クラッシュログ

Dyld Error Message:
Dyld Message: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/containers/Bundle/Application/4BD71E88-A013-47E7-8A0F-EA4327328BE9/free.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
  Reason: image not found
  Dyld Version: 390.7
bug

最も参考になるコメント

@CodeMasterYi
私にとっては、ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES を true に設定して問題を解決します。
ただし、facebook sdk は 100 オーダーでこのプロパティを false に設定するため、ビルド スクリプトで 100 オーダーを超えるオーダーでそれを行う必要があります。

[PostProcessBuild(101)]
        public static void OnPostprocessBuildEmbedSwiftLibraries(BuildTarget target, string pathToBuiltProject)
        {
#if UNITY_IOS
            var proj_path = PBXProject.GetPBXProjectPath(pathToBuiltProject);
            var proj = new PBXProject();
            proj.ReadFromFile(proj_path);
            var mainTarget = proj.GetUnityMainTargetGuid();
            proj.SetBuildProperty(mainTarget, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
            File.WriteAllText(proj_path, proj.WriteToString());
#endif
        }

全てのコメント15件

CFD54922-6EC6-4362-9B6D-04EEF71BE8BE
このオプションはYESに設定する必要があると思います。
エディター コードは、xcode プロジェクトが生成された後にこれを行いますか?

ターゲットPods-Unity-iPhone
21EA24C6-577F-4B1F-A835-A95835116C7A

無人?

同じ問題に遭遇しましたが、これを解決した人はいますか?

FacebookのQA部門は閉鎖されていますか?

だれか

こんにちは、あなたが追加することができます
「加速するフレームワーク」
ビルドフェーズ > バイナリとライブラリのリンク > +

その後、ビルドして試してください。

実際、これを行うことで (Facebook SDK の 8.1.0 バージョン)、正常にビルドできます (8.1.1 は多くのエラーが発生し、ビルドできなくても失敗します) が、起動時にクラッシュしたため Apple によって拒否されました

有効なフォームが見つかりました。このリンクを確認してください。
https://github.com/facebook/facebook-sdk-for-unity/issues/193#issuecomment -754953304

この問題を解決するために、ポッド アップグレード FBCoreKit を使用して ver8.0 を試してみました。

この問題を解決するために、ポッド アップグレード FBCoreKit を使用して ver8.0 を試してみました。

iOS 9.x では v8.0 で問題ないということですか?

Xcodeを12にアップデート

Xcodeを12にアップデート

本当に?

この問題を解決するために、ポッド アップグレード FBCoreKit を使用して ver8.0 を試してみました。

iOS 9.x では v8.0 で問題ないということですか?

はい

@CodeMasterYi
私にとっては、ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES を true に設定して問題を解決します。
ただし、facebook sdk は 100 オーダーでこのプロパティを false に設定するため、ビルド スクリプトで 100 オーダーを超えるオーダーでそれを行う必要があります。

[PostProcessBuild(101)]
        public static void OnPostprocessBuildEmbedSwiftLibraries(BuildTarget target, string pathToBuiltProject)
        {
#if UNITY_IOS
            var proj_path = PBXProject.GetPBXProjectPath(pathToBuiltProject);
            var proj = new PBXProject();
            proj.ReadFromFile(proj_path);
            var mainTarget = proj.GetUnityMainTargetGuid();
            proj.SetBuildProperty(mainTarget, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
            File.WriteAllText(proj_path, proj.WriteToString());
#endif
        }

私もこの問題を抱えています - Firebase SDK 9.0.0
8.0.0 にダウングレードすると、この問題は解消されます。

XCode からデバイスでアプリを実行すると、次の出力が表示されます。

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/containers/Bundle/Application/C2979E79-0D45-456B-8CE0-9C567CEEE765/d2w.app/d2w
  Reason: image not found
dyld: launch, loading dependent libraries
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
(lldb) 

このページ (および他のページ) の推奨事項の多くを試しましたが、Facebook SDK のダウングレードを除いて、解決できませんでした。

このページは役に立ちましたか?
0 / 5 - 0 評価