OGeek|极客世界-中国程序员成长平台

标题: ios - 如何在 iOS 中制作通用框架? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 23:47
标题: ios - 如何在 iOS 中制作通用框架?

我创建了一个项目 (Project 1),我在其中创建了一个我想在不同项目 (project 2) 中使用的框架,就像任何其他框架一样(拖放到项目中)。

我的问题

但是当我创建框架(在项目 1 中)时,当我在项目 2 中使用此框架时,在 xcode 中选择设备时,它仅适用于设备而不适用于模拟器。 反之亦然,如果我在项目 1 中创建框架并在 xcode 中选择模拟器并在项目 2 中使用此框架,则它仅适用于模拟器。

错误是

enter image description here

我正在努力实现的目标

我从项目 1 创建的框架应该在项目 2 的设备和模拟器上运行。

以下是我在两个项目中的设置

enter image description here



Best Answer-推荐答案


Xcode 将根据选择的目标构建框架。如果为模拟器构建框架,架构将是 X86_64,i386,另一方面,对于设备,它将是 armv7,arm64。 可以使用 lipo 命令检查框架的架构,如下所示。

lipo -info sample.frameowrk/sample

现在,在您的情况下,您希望您的框架应该同时支持模拟器和设备。因此,您需要结合两个框架(为设备和模拟器构建)并使用 lipo 命令创建一个 FAT 框架,如下所示:

lipo <path to framework build for simulator>/simulator.framework <path to framework build for device>/device.framework -create -output universal.framework

生成的通用框架将支持这两个平台。您可以查看通用框架支持的架构如下:

lipo -info universal.framework/universal 

output : arm64,armv7,x86_64,i386

关于ios - 如何在 iOS 中制作通用框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41971296/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4