0
我有一个项目,其中多个目标共享一个Info.plist
文件。在构建时通过${ENVIRONMENT_VARIABLES}
将简单的特定于目标的字符串插入到文件中,这很好。如何在构建时将每个目标UIAppFonts添加到共享Info.plist文件
但是,我想指定UIAppFonts
阵列的每个目标值,并且相同的策略不起作用。在构建时插入此数组的值的最佳方法是什么?
我有一个项目,其中多个目标共享一个Info.plist
文件。在构建时通过${ENVIRONMENT_VARIABLES}
将简单的特定于目标的字符串插入到文件中,这很好。如何在构建时将每个目标UIAppFonts添加到共享Info.plist文件
但是,我想指定UIAppFonts
阵列的每个目标值,并且相同的策略不起作用。在构建时插入此数组的值的最佳方法是什么?
我在这里的解决方案是创建一个特定于目标的fonts-target.plist
,其中只包含特定目标的字体文件数组。然后我在运行脚本构建阶段使用PListBuddy
在构建时将该plist注入到Info.plist文件中。这是一个有点挑剔,因为PListBuddy
非常讲究,你可以如何使用在容器的选择:因为
/usr/libexec/PlistBuddy -c "Delete :UIAppFonts" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
/usr/libexec/PlistBuddy -c "Add :UIAppFonts array" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
/usr/libexec/PlistBuddy -c "Merge ${SRCROOT}/Resources/Target-Specific/fonts-${TARGET}.plist :UIAppFonts" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
三个命令:
Merge
如果事情不存在 。Add
如果东西确实存在。Delete
UIAppFonts
键。