iOS 目标 c 框架在模拟器中不起作用
Posted
技术标签:
【中文标题】iOS 目标 c 框架在模拟器中不起作用【英文标题】:iOS objective c framework not working in simulator 【发布时间】:2018-07-25 05:28:49 【问题描述】:我编写了objective-c 框架并通过在Xcode 中连接我的iphone 来构建它,当将此框架添加到我的项目并使用iphone 8 模拟器运行时,我遇到了x86 架构的错误。
我该如何解决这个错误?
P.S:我希望框架同时适用于设备和模拟器。
【问题讨论】:
您是否将产品框架添加到项目的嵌入式二进制文件中? @David Yes David。 您确定您的框架支持 x86_64 和 i386 吗?使用lipo -info
查看
@Tj3n 如何检查 lipo?我没有指定输入文件错误
在构建活动拱门下。 - 调试 - 让它成为 YES。在有效拱门下。删除 x86_64 i386 拱门。然后清理并构建。
【参考方案1】:
这与您的应用目标无关,而是TestFrameWork.framework
。
在终端中使用以下命令检查TestFrameWork.framework
的架构:
lipo -info /path/to/TestFrameWork.framework/TestFrameWork
它在那里输出拱列表。如果你可以在ios真机上用这个框架构建你的应用程序,它里面必须包含armv7 armv7s arm64
,这就是使用的iOS设备的环境。
对于 iOS 模拟器,它使用您的嵌套 macOS 环境 i386 x86_64
。如果你有TestFrameWork.framework
源代码,在iOS模拟器和iOS设备上编译,使用lipo
命令将它们合并成一个胖子。如果您从合作伙伴或供应商处获得TestFrameWork.framework
,请为此向他们发送请求。我想每个 iOS 库开发者都应该知道这一点。
祝你好运!
【讨论】:
【参考方案2】:原因是你的框架不支持 i386 架构。 您无需创建通用框架。
查看this tutorial。
【讨论】:
以上是关于iOS 目标 c 框架在模拟器中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
animateWithDuration 在 viewWillAppear ios 9 目标 c 中不起作用
@media only screen and (orientation:portrait) 在 iOS 模拟器中不起作用?