我正在使用一个只兼容设备的框架。问题是如果我把它添加到我的应用中,我就不能再在模拟器上运行我的应用了。
我要求框架开发人员与我合作,并为我提供一个模拟器和设备兼容的框架,但他们能做的最好的是提出两个版本:一个是仅与设备兼容,一个是仅与模拟器兼容。
我有两个问题:
1.让一个框架同时兼容设备和模拟器真的那么难吗?
1.在相关的运行脚本中是否可以使用环境变量,它可以告诉我是为模拟器还是为设备构建?我的想法是添加两个框架版本,并根据当前的构建架构选择一个。
任何建议都是受欢迎的。我已经想了一段时间了,但我对这个问题不是很精通。
- 谢谢-谢谢
1条答案
按热度按时间ee7vknir1#
首先,我对你的问题感到困惑,
我认为您正在谈论XCFramework。
对于XCFramework,首先转到Xcode〉〉文件〉〉新建〉〉目标〉〉框架
将源代码放入此框架中。在构建设置中设置构建分发库〉〉是
和构建一次。
成功构建后,转到您的框架源文件夹,并在框架项目终端中依次运行以下3个不同命令。
将FRAMEWORK_NAME替换为您的框架名称
//适用于iPhone //
xcodebuild归档文件
-sdk iPhone
跳过安装=否
构建用于分发的库=是
//用于模拟器//
xcodebuild归档文件
-sdk iPhone模拟器
跳过安装=否
构建用于分发的库=是
//用于合并两个框架xcarchive //
xcodebuild -创建xcframework
-framework './build/框架名称.框架模拟器-x86_64.xcarchive/产品/库/框架/框架名称. framework'
成功运行以上命令后,您将看到,创建了一个'Build'文件夹,其中包含模拟器和带有最终框架iPhone xcarchive
完成您的最终XCFramework,您可以将其用于iPhone和模拟器。