如何 运行 导致框架 运行 时间错误的 iOS 应用程序 "code signature invalid"
How to run an iOS app that causes runtime error for frameworks "code signature invalid"
每次我尝试 运行 这个应用程序时,它都能正常构建并安装,但是一旦它 运行s,应用程序就会中断并打印此错误消息:
dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'
我在这里和 App Developer 论坛上看到了很多关于此问题的类似帖子,但没有人提供解释或有效修复。
我试过了:
- 清洁和建造
- 正在重启XCode
- 正在重新启动 Mac
- 完全重置钥匙串
- 验证所有钥匙串证书信任设置已开启"Use System Defaults"
- 工厂重置我的 Mac
我的 iOS 设备似乎有问题。该应用程序可以在模拟器上启动,但模拟器不适合我的开发目的,因此我需要在我的设备上运行它。我最近将 iPhone XR 更新为 iOS 13.3.1.
我正在使用 XCode 11 和 iOS 13。
这是 iOS 13.3.1 的问题。当 运行 在个人配置 profile/developer 帐户上时,所有编译到最新版本 iOS 13.3.1 的动态框架都遇到此问题。下面是从 Github 复制自 jmagman 的解决方案。
您可以:
- 使用非个人团队配置文件(付费开发者帐户)。
- 运行 在 13.3.1 模拟器上。
- 在真实的 iOS 设备上测试 运行ning 13.3 或更低版本。
- 在您的测试设备上安装 beta 配置文件并安装 iOS 13.4 beta 3。(已修复)
- 等待 iOS 13.4 发布。
希望这个问题能尽快得到解决。
我正在使用 CocoaPods,对我来说这修复了错误(Wasa22 对 github 问题的回答):
- 打开播客文件
- 注释掉 use_frameworks!
- 添加use_modular_headers!
- 在终端中,执行 pod 更新 -> pod 安装
- 在 Xcode 中,清理 (Command-Shift-K) -> 构建并 运行。
如果你从 Xcode 运行 你会看到这样的错误:
/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146-
A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'
jmagman 在 Github
上提供的解决方案
jmagman 已升级到 Apple (FB7562472),如果他们听到任何消息,将会通知所有人。 more details on github
这似乎已在 iOS 13.4 beta 3 上修复。您可以安装 beta profile 或等待 iOS 13.4 的发布。
我看到了 2 种修复方法。
降级到 iOS 13.3。 iOS 13.3.1 会破坏第三方签名,除非您拥有付费开发者帐户。可能的话(弄个便宜的iphone专门开发)
将MacOS、Xcode和iOS更新到最新的Beta版本(单独更新其中任何一个都不起作用,因为iOS beta 需要最新的 Xcode beta,Xcode 需要最新的 Mac OS Catalina)
我在尝试构建到我的实际 iOS 设备时遇到了这个问题(但它在模拟器中运行良好)。我花了至少 10 个小时来修复这个错误。在所有论坛中尝试了所有方法,但没有任何效果。但这最终对我有用!
- 正在从 iOS 13.3.1 升级到 iOS 13.4.1
我无法想象这一点,但是 iOS 13.3.1 破坏了第三方签名是真的,除非你有一个付费的开发者帐户!
这是 Apple 的问题。我通过将我的设备升级到 iOS 13.4.1 解决了这个问题
另外,如果你不想升级ios系统,而且你也使用Podfile,你可以做流程方式:
- 注释掉use_frameworks!在播客文件中。
- 添加use_modular_headers!
- pod 分解 + pod 安装。
- 清理 (Command-Shift-K) -> 构建并 运行。
我收到了与 GoogleUtilities.framework 相同的错误消息。我在 模拟器 上尝试 运行 时出现了问题。在设备上,它 运行 很好。问题是我的 MacBook 上的 CylancePROTECT 防病毒软件正在检测文件,这会导致应用程序崩溃。检查您的设备是否正在 运行ning CylancePROTECT 或其他阻止您需要的框架的防病毒软件。
我在使用本地框架时遇到了同样的问题。经过几个小时的调试,我只需要将默认的“不嵌入”更改为“嵌入并签名”,错误就消失了。值得一试! :)
每次我尝试 运行 这个应用程序时,它都能正常构建并安装,但是一旦它 运行s,应用程序就会中断并打印此错误消息:
dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'
我在这里和 App Developer 论坛上看到了很多关于此问题的类似帖子,但没有人提供解释或有效修复。
我试过了:
- 清洁和建造
- 正在重启XCode
- 正在重新启动 Mac
- 完全重置钥匙串
- 验证所有钥匙串证书信任设置已开启"Use System Defaults"
- 工厂重置我的 Mac
我的 iOS 设备似乎有问题。该应用程序可以在模拟器上启动,但模拟器不适合我的开发目的,因此我需要在我的设备上运行它。我最近将 iPhone XR 更新为 iOS 13.3.1.
我正在使用 XCode 11 和 iOS 13。
这是 iOS 13.3.1 的问题。当 运行 在个人配置 profile/developer 帐户上时,所有编译到最新版本 iOS 13.3.1 的动态框架都遇到此问题。下面是从 Github 复制自 jmagman 的解决方案。
您可以:
- 使用非个人团队配置文件(付费开发者帐户)。
- 运行 在 13.3.1 模拟器上。
- 在真实的 iOS 设备上测试 运行ning 13.3 或更低版本。
- 在您的测试设备上安装 beta 配置文件并安装 iOS 13.4 beta 3。(已修复)
- 等待 iOS 13.4 发布。
希望这个问题能尽快得到解决。
我正在使用 CocoaPods,对我来说这修复了错误(Wasa22 对 github 问题的回答):
- 打开播客文件
- 注释掉 use_frameworks!
- 添加use_modular_headers!
- 在终端中,执行 pod 更新 -> pod 安装
- 在 Xcode 中,清理 (Command-Shift-K) -> 构建并 运行。
如果你从 Xcode 运行 你会看到这样的错误:
/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146-
A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'
jmagman 在 Github
上提供的解决方案jmagman 已升级到 Apple (FB7562472),如果他们听到任何消息,将会通知所有人。 more details on github
这似乎已在 iOS 13.4 beta 3 上修复。您可以安装 beta profile 或等待 iOS 13.4 的发布。
我看到了 2 种修复方法。
降级到 iOS 13.3。 iOS 13.3.1 会破坏第三方签名,除非您拥有付费开发者帐户。可能的话(弄个便宜的iphone专门开发)
将MacOS、Xcode和iOS更新到最新的Beta版本(单独更新其中任何一个都不起作用,因为iOS beta 需要最新的 Xcode beta,Xcode 需要最新的 Mac OS Catalina)
我在尝试构建到我的实际 iOS 设备时遇到了这个问题(但它在模拟器中运行良好)。我花了至少 10 个小时来修复这个错误。在所有论坛中尝试了所有方法,但没有任何效果。但这最终对我有用!
- 正在从 iOS 13.3.1 升级到 iOS 13.4.1
我无法想象这一点,但是 iOS 13.3.1 破坏了第三方签名是真的,除非你有一个付费的开发者帐户!
这是 Apple 的问题。我通过将我的设备升级到 iOS 13.4.1 解决了这个问题 另外,如果你不想升级ios系统,而且你也使用Podfile,你可以做流程方式:
- 注释掉use_frameworks!在播客文件中。
- 添加use_modular_headers!
- pod 分解 + pod 安装。
- 清理 (Command-Shift-K) -> 构建并 运行。
我收到了与 GoogleUtilities.framework 相同的错误消息。我在 模拟器 上尝试 运行 时出现了问题。在设备上,它 运行 很好。问题是我的 MacBook 上的 CylancePROTECT 防病毒软件正在检测文件,这会导致应用程序崩溃。检查您的设备是否正在 运行ning CylancePROTECT 或其他阻止您需要的框架的防病毒软件。
我在使用本地框架时遇到了同样的问题。经过几个小时的调试,我只需要将默认的“不嵌入”更改为“嵌入并签名”,错误就消失了。值得一试! :)