Facebook-sdk-for-unity: [Bug] 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

最有用的评论

@CodeMasterYi
对我来说,将 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 设置为 true 可以解决问题。
但是您需要在构建脚本中以超过 100 的顺序执行此操作,因为 facebook sdk 在 100 的顺序中将此属性设置为 false。

[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

我尝试使用 pod upgrade FBCoreKit to ver8.0 解决这个问题。

我尝试使用 pod upgrade FBCoreKit to ver8.0 解决这个问题。

你的意思是 v8.0 适用于 iOS 9.x?

将 Xcode 更新为 12

将 Xcode 更新为 12

真的吗?

我尝试使用 pod upgrade FBCoreKit to ver8.0 解决这个问题。

你的意思是 v8.0 适用于 iOS 9.x?

是的

@CodeMasterYi
对我来说,将 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 设置为 true 可以解决问题。
但是您需要在构建脚本中以超过 100 的顺序执行此操作,因为 facebook sdk 在 100 的顺序中将此属性设置为 false。

[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 等级