ios – 每个方案的多个Info.plist文件之间有一个不同的密钥?

前端之家收集整理的这篇文章主要介绍了ios – 每个方案的多个Info.plist文件之间有一个不同的密钥?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序的Info.plist文件里面有大约20/30个键.我们正在实现的外部SDK需要在Info.plist中设置其app密钥,但需要单独的密钥用于调试,企业分发和发布方案.

有没有办法我可以创建条件添加到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”以获取更多链接.

猜你在找的Xcode相关文章