【问题标题】:dyld: Library not loaded: code signature invaliddyld:库未加载:代码签名无效
【发布时间】:2020-06-08 14:37:46
【问题描述】:

我正在尝试构建和运行使用 AVFoundation 框架的应用程序...

(我知道这是重复的,但其他地方发布的解决方案对我没有帮助。)

我构建成功,但是当我从 Xcode 重新运行它时应用程序崩溃并出现以下错误:

> dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib
Referenced from : /private/var/containers/Bundle/Application/B9B93BB2-F55E-4DAE-A720-0F2D22A47278/FaceMarks.app/FaceMarks
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/B9B93BB2-F55E-4DAE-A720-0F2D22A47278/FaceMarks.app/Frameworks/libswiftAVfoundation.dylib:

>code signature invalid for '/private/var/containers/Bundle/Application/B9B93BB2-F55E-4DAE-A720-0F2D22A47278/FaceMarks.app/Frameworks/libswiftAVfoundation.dylib'

> lldb

完整的错误信息:

我找到了很多解决方案,我测试了其中的许多,但所有这些都不适合我:

  1. 清理、构建和运行应用程序
  1. 在“构建设置”>“构建选项”下将“始终嵌入 Swift 标准库”设置为“是”
  1. 重启 Xcode
  1. 重启手机
  1. 重新安装 Xcode
  1. 在我的 iPhone 上测试其他简单的应用程序(应用程序只包含一个打印功能)

注意:测试应用在模拟器上运行良好,但在我的 iPhone 上却出现同样的错误

dyld:库未加载:@rpath/libswiftCore.dylib

【问题讨论】:

  • 您应该真正复制并粘贴实际错误本身,而不是屏幕截图(并且绝对而不是您的屏幕图片
  • 对不起,我用的是朋友的Mac,没时间复制错误,我会尝试更新问题。
  • 我看过这个答案,但它不起作用,我在帖子中提到我已经测试了很多解决方案,但其中任何一个都对我有用。
  • 从 iOS 13.3.1 开始,使用外部框架的免费苹果开发者帐户似乎存在合法问题:stackoverflow.com/a/60101963/4608154。但是,我不确定这是否适用于此,因为您使用的框架不是外部的。

标签: ios swift iphone xcode


【解决方案1】:

代码签名问题通常与帐户相关,因此如果您使用的是带有某些限制和过期问题的免费 Apple 开发帐户。

首先,确保您有一个有效且活跃的开发者帐户登录到 Xcode 下:

Xcode | Preferences | Accounts 

或者删除那里显示的开发者帐户,然后重新添加。

其次确保在 Preferences | 下指定的帐户帐户与您为项目目标选择的内容相匹配:

<TargetName> | Signing & Capabilities

【讨论】:

  • 我创建的开发者账号是免费的(不是付费的开发者账号)。您是否同意这可能会导致错误?
  • 每周,我都能安装应用程序,因为免费帐户开发人员只给了我 7 天的时间来测试,但它可以工作并且没有给我任何错误,所以上周我更新了我的 iPhone X,(ios 13.3.1 的安全更新),更新后,应用程序每次更新后都会崩溃,我已将其删除并尝试从 Xcode 再次安装(构建并重新运行),今天我遇到了这个错误。
  • 是的,代码签名问题通常与帐户相关,所以如果您的免费帐户有某种限制或过期,我不会感到惊讶。
  • 你能告诉我解决办法是什么吗?创建一个新的开发者帐户是否解决了这个问题?
【解决方案2】:

我使用付费开发者帐户修复了此错误。

【讨论】:

【解决方案3】:

对于那些仍在寻找解决方案的人,我有一个免费的开发者帐户并像这样解决了它:

问题是您必须首先“信任”您 iPhone 上的帐户,并信任由该开发者开发的应用程序。

在此处查看带有屏幕截图的说明: https://entirefaq.helpdocs.com/mobile-apps/iphone-app-how-to-fix-the-untrusted-enterprise-developer#:~:text=Tap%20Settings%20%3E%20General%20%3E%20Profiles%20or,prompt%20to%20confirm%20your%20choice.

【讨论】:

    【解决方案4】:

    即使使用付费开发者帐户,我也必须在顶部的链接器标志中包含 $(inherited)。这实际上起到了作用。其次,我在发布企业版本中开始遇到此问题,原因是证书不受信任,我必须添加与该证书相关的证书颁发机构以使其有效。

    【讨论】:

      【解决方案5】:

      您是否使用-deep 签名标志?它可能会导致此问题。

      请参阅“--deep 认为有害”。

      【讨论】:

        猜你喜欢
        • 2020-05-24
        • 2018-01-22
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 2015-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多