我创建了一个项目 (Project 1),我在其中创建了一个我想在不同项目 (project 2) 中使用的框架,就像任何其他框架一样(拖放到项目中)。
我的问题
但是当我创建框架(在项目 1 中)时,当我在项目 2 中使用此框架时,在 xcode 中选择设备时,它仅适用于设备而不适用于模拟器。
反之亦然,如果我在项目 1 中创建框架并在 xcode 中选择模拟器并在项目 2 中使用此框架,则它仅适用于模拟器。
错误是
我正在努力实现的目标
我从项目 1 创建的框架应该在项目 2 的设备和模拟器上运行。
以下是我在两个项目中的设置
Best Answer-推荐答案 strong>
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/
|