最近我收到了我需要构建和部署到TestFlight的应用程序源代码。不幸的是,每当我尝试在我的测试设备上以调试模式运行应用程序或从TestFlight安装的应用程序时,它都无法开始抛出以下错误消息:
dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
Referenced from: /var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/MyApp
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/Frameworks/Alamofire.framework/Alamofire: code signing blocked mmap() of '/private/var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/Frameworks/Alamofire.framework/Alamofire'
/private/var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/Frameworks/Alamofire.framework/Alamofire: code signing blocked mmap() of '/private/var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/Frameworks/Alamofire.framework/Alamofire'
/private/var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/Frameworks/Alamofire.framework/Alamofire: code signing blocked mmap() of '/private/var/containers/Bundle/Application/77FB1F81-25F5-4670-ACF1-F814543B9A0E/MyApp.app/Frameworks/Alamofire.framework/Alamofire'
该应用使用COCOAPODS作为依赖关系管理器。在Podfile中有TRON pod,它取决于我们遇到的Alamofire框架问题。 在提交和调试版本期间,应用程序已成功构建,签名和验证。因此它似乎与证书或配置文件无关。但我无论如何都重新创建了证书和配置文件。 (虽然我认为这不是因为应用程序成功提交到app商店)。该应用程序的开发人员构建并运行应用程序没有任何问题。我们检查了使用过的工具和库的版本,它们似乎是不同的。 (xcode版本,cocoapods版本,pods依赖项)。 我甚至尝试构建安装了所有依赖项(pod安装)的源代码。
在SO上有类似的问题,但是当他们遇到这个问题时,他们似乎并没有处理COCOAPODS。解决方案通常涉及手动嵌入框架。但这不是我们的合适解决方案,因为通过COCOAPOD脚本集成了所有的demandencies。
还有什么可能导致问题?
答案 0 :(得分:9)
这是iOS 13.3.1的问题。当在个人供应配置文件/开发人员帐户上运行时,所有编译到最新版本的iOS 13.3.1的动态框架都遇到此问题。
您可以:
使用非个人团队设置配置文件(付费开发者帐户)。 在13.3.1仿真器上运行。 在运行13.3或更低版本的真实iOS设备上进行测试。 但是,此问题将在13.4 Beta版中得到解决。
答案 1 :(得分:2)
问题与特定应用无关。构建任何应用程序即使是最简单的应用程序也会产生相同的错误。
通过重新安装 Apple全球开发者关系认证中心,解决,即使它尚未过期。
步骤:
JIC:删除配置文件,清理项目,重新启动xcode / Mac: - )
答案 2 :(得分:0)
在我的情况下,问题与Apple全球开发者关系认证机构有关,我通过变更信任从始终使用系统默认值来解决它。
答案 3 :(得分:0)
从 pod 文件中删除或注释#use_frameworks 并清理构建文件夹。它对我有效。