在架构发生一些变化后,我们目前正在尝试通过移动设备管理部署新版本的 iOS 企业应用程序。
同一个应用程序在过去已成功部署了几次,但我们最近向该应用程序添加了一个库(以便在不同的地方重用我们的一些代码)。
应用程序从调试器启动时运行良好,但在通过移动设备管理签名和部署后启动后立即崩溃。 iOS Crashlog 显示我们添加的库确实存在但未加载。
错误信息如下:
Dyld Error Message:
Library not loaded: @rpath/MYAPPLib.framework/MYAPPLib
Referenced from: /private/var/mobile/Containers/Bundle/Application/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MYAPP_iOS.app/MYAPP_iOS
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MYAPP_iOS.app/Frameworks/MYAPPLib.framework/MYAPPLib: mmap() error 1 at address=0xXXXXXXXX, size=0xXXXXXXXX segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MYAPP_iOS.app/Frameworks/MYAPPLib.framework/MYAPPLib
(包标识符和应用程序名称已更改)
我们怀疑这可能是签名问题。归档产品并导出后(“为企业部署保存”),我们注意到没有为所述库选择配置文件(见下面的截图)
长话短说,问题是: iOS 应用程序中的库是否有必要拥有 Provisioning Profile?如果是这样,我该如何分配一个?
最佳答案
好吧,所以我们仍然不确定到底是什么问题。但我们可以说,错误已通过颁发新的开发人员证书得到解决。因此,如果您遇到同样的问题,也许您也想尝试一下。
关于iOS 应用企业部署 : Provisioning Profile for Libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117948/