我试图嵌入一个使用其他框架的框架,并且在模拟器中可以正常工作,但是在iOS设备上崩溃:
这是我在Xcode中的结构:
该应用程序(FrameworkTest)使用来自FrameworkA的
A
类(嵌入在FrameworkTest应用程序中)。 A
类使用FrameworkB中的B
类(在FrameworkA中链接)。这在模拟器中可以正常工作,但在设备上不起作用。
该结构可能看起来有些奇怪,但是我在开发应用程序时正在开发框架,这就是为什么要将框架项目添加到我的应用程序项目中的原因。
如果您需要仔细查看,我已经上传了project on GitHub供您查看。 (在AppDelegate.m文件中调用了
A
类)为什么在iOS模拟器中而不是在设备上可以正常工作?以及如何使它在设备上运行?
编辑:
正如simonthumper在评论中所建议的那样,我还尝试将
FrameworkB.framework
添加到Copy Files
中作为FrameworkA的构建阶段中的Frameworks目标,但这在控制台中给了我这个错误:最佳答案
我就此问题与苹果公司联系,并找到了解决问题的方法。 Apple的技术支持明确表明,我需要将FrameworkB.xcodeproj添加到我的应用程序项目中,因此我的项目结构为:
完成此操作后,应用程序项目可以将FrameworkB.framework包含为嵌入式库:
这解决了我的问题,并使其可以在iOS设备上运行。
如果版本在发布时崩溃:
吊销您的企业分发证书,然后创建一个新证书来解决该问题。一旦我做到了,它就完美地工作了。