【问题标题】:iOS objective c framework not working in simulatoriOS 目标 c 框架在模拟器中不起作用
【发布时间】: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 拱门。然后清理并构建。

标签: ios objective-c frameworks


【解决方案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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      • 2013-03-11
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多