首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个info.plist文件与单个目标关联

将多个info.plist文件与单个目标关联
EN

Stack Overflow用户
提问于 2013-12-17 22:44:33
回答 3查看 7.4K关注 0票数 3

在我的iOS项目中,我创建了一个单独的plist文件,其中包含所有社交共享密钥和appIds等人的值。

如何在项目/目标设置中指定此新plist文件是默认info.plist文件的扩展?我可以在主info.plist文件中创建一个指向新文件的链接吗?

一些第三方库尝试在项目info.plist文件中查找键值,因此我没有在引用点处指定新的plist文件的选项。

我只能在构建设置>打包> Info.plist中指定一个文件

EN

回答 3

Stack Overflow用户

发布于 2013-12-17 22:52:39

我知道你不能链接两个plist文件。每个目标配置只能设置一个plist。

也许,按配置分隔plist文件就是您想要的。为此,请转到构建设置>打包> Info.plist文件,将其展开并为指定的配置设置不同的plist文件路径(默认情况下有2个配置:调试和发布)。

票数 3
EN

Stack Overflow用户

发布于 2015-04-01 05:06:13

正如@pjanecze提到的,您可以通过在构建阶段编写脚本来获得您想要的内容。例如:

代码语言:javascript
复制
if [ $CONFIGURATION != 'Debug' ]; then
    build_hash=`git log -1 --format="%h"`
    /usr/libexec/PlistBuddy -c "Set :git_sha ${build_hash}" MyInfo.plist
    /usr/libexec/PlistBuddy -c "delete :foobar" MyInfo.plist
fi

您可以通过man PlistBuddy访问手册页,了解有关如何使用PlistBuddy的更多信息。

票数 3
EN

Stack Overflow用户

发布于 2013-12-17 22:57:56

据我所知,只能有一个Info.plist文件,在您前面提到的Build Settings下指定。

然而,有一种方法可以管理“扩展”plist文件,这依赖于应用程序通过- (NSDictionary *)infoDictionary方法访问info.plist文件的事实。也就是说,你可以:

用你自己的implementation;

  • in你的infoDictionary实现来交换默认的实现,你可以调用原始的实现,然后通过读取“

  • ”plist文件条目来扩展返回的NSDictionary

您甚至可以定义自己的特殊键,例如,在指向“扩展”plist文件的Info.plist中使用的kExtensionPlistFile

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20637148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档