有没有办法我可以创建条件添加到Info.plist而不必维护文件的三个副本(并复制所有其他键,所有目标都相同)?
基本上我想要的是基本plist,就像现在一样,然后是新的-Debug,-Distribution和Release,它们只包含这个新密钥.我试图避免的是重复所有键,因为它将在未来增加新的麻烦.
这可能吗?
解决方法
在应用程序构建之前执行Xcode运行脚本
这是一个在构建之前自动执行的脚本.假设3个重复的plist文件名为InfoA.plist,InfoB.plist和InfoC.plist,它们都是完全重复的.构建项目时,InfoA.plist的内容将复制到InfoB.plist和InfoC.plist.这需要一些编写shell脚本的知识才能做到这一点,但脚本非常简单.
您可以复制并重命名脚本中的文件.或者,您可以使用命令行工具将主文件的内容复制到重复文件中.可用于修改plist文件内容的两个命令行实用程序是plutil和https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/PlistBuddy.8.html.这些链接可能会有所帮助:Add files to an Xcode project from a script?,
修改方案并添加预执行
您的方案还允许您向构建添加预操作,您可以执行与上面相同的操作,但将其配置为预操作而不是构建阶段脚本.
以下是一些可能有用的链接:how to make xcode run a script before dependencies?,https://www.objc.io/issues/6-build-tools/build-process/,Xcode: Running a script before every build that modifies source code directly但您也可以谷歌搜索“xcode run script before build”以获取更多链接.