我们目前正尝试在架构发生一些变化后,通过移动设备管理部署新版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
(包标识符和应用程序名称已更改)
我们怀疑这可能是签名问题。归档产品并导出(" Save for Enterprise Deployment")后,我们注意到没有为所述库选择Provisioning Profile(请参见下面的屏幕截图)
长话短说,问题是: iOS应用中的库是否需要拥有配置文件?如果是这样,我该如何指定一个?
答案 0 :(得分:0)
好的,所以我们仍然不确定究竟是什么问题。但我们可以说通过发布新的开发人员证书来解决错误 。所以如果你遇到同样的问题,也许你也想尝试一下。
答案 1 :(得分:-1)
从控制台看来应用程序找不到框架文件。
@executable_path/Frameworks
如果您的框架是在同一个项目下开发的,请确保您确保在Build Phases下的Copy File下。