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 框架在模拟器中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

静态快速​​操作在目标 c iOS 中不起作用

animateWithDuration 在 vi​​ewWillAppear ios 9 目标 c 中不起作用

目标 =“_blank” 在 IOS 中不起作用

@media only screen and (orientation:portrait) 在 iOS 模拟器中不起作用?

导航在目标 c 中不起作用

反应本机 axios 请求在 IOS 模拟器中不起作用