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
鍵。