在我的项目中,我有适用于 iPhone 模拟器和 iPhone 设备的不同框架,例如用于模拟器的 Rest 套件“libRestKit_simulator.a”和用于设备的“libRestKit.a” ,
我的要求是在 Xcode 中编写一个“运行脚本”以包含基于模拟器或设备的框架。
在我的项目中,我有适用于 iPhone 模拟器和 iPhone 设备的不同框架,例如用于模拟器的 Rest 套件“libRestKit_simulator.a”和用于设备的“libRestKit.a” ,
我的要求是在 Xcode 中编写一个“运行脚本”以包含基于模拟器或设备的框架。
不确定这是否是最好的解决方案,但它似乎对我有用。
如果您在目标依赖项下添加构建脚本,则添加以下代码。这假设您有 2 个库
该项目将设置为使用 library.a,如果您使用的是模拟器,脚本将删除 library.a 并将其替换为 library_simulator.a。您需要将模拟器添加到您的构建方案中,以确保在构建时构建它,并且两个库都需要相同的接口。
if [[ "${SDKROOT}" == *Simulator* ]]
then
if [[ -f "${BUILT_PRODUCTS_DIR}/library.a"]]
then
rm -rf "${BUILT_PRODUCTS_DIR}/library.a"
fi
mv "${BUILT_PRODUCTS_DIR}/library_simulator.a" "${BUILT_PRODUCTS_DIR}/library.a"
fi
不知道这对你有多大用处,我只是简单地测试了一下。希望能帮助到你。