从 xxx.plist 获取值以在 Target 中构建设置

Posted

技术标签:

【中文标题】从 xxx.plist 获取值以在 Target 中构建设置【英文标题】:Get value from xxx.plist to Build Settings in Target 【发布时间】:2014-10-28 19:43:07 【问题描述】:

我在 Supporting Files 文件夹中创建了一个名为 test.plist 的自定义 plist。其中我存储了 App 产品名称和 App 版本号。

现在,我如何从 test.plist 中获取产品名称,以便在 Target 的构建设置中获取产品名称。

我可以从用户定义的构建设置中获取值。但我不想那样。

注意我只需要将产品名称存储在 test.plist 中。其他人可以访问此文件中的值

提前致谢..

【问题讨论】:

【参考方案1】:

您可以从主包中的 plist 中读取值,将下面的代码放入 viewDidLoad 方法中,请注意,如果您想将任何数据写入 plist,则主包中的所有文件都是只读的,那么您必须将其复制到应用的文档目录

NSString *bundle = [[NSBundle mainBundle] pathForResource:@”test” ofType:@”plist”];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:bundle];
NSString *productName = [dict objectForKey:@"ProductName"];
NSString * appVersion = [dict objectForKey:@"AppVersion"];

另一种方法是读取应用属性

NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];
NSString appVersion = [NSString stringWithFormat:@"Version %@ (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"], kRevisionNumber];

希望对你有帮助!

【讨论】:

感谢您的回复。在这里,您讲述了从 test.plist 中读取的值。没关系。但是我如何在目标文件的构建设置中使用这些值。 查看我的第二个答案,它从项目的 info.plist 中读取值 是的,我们可以阅读它。但是我如何从 Target 中的 Build Settings 访问?

以上是关于从 xxx.plist 获取值以在 Target 中构建设置的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PyQt5 QThread 从 CLASS(ShowVideo) 中获取值以在第二个 CLASS(ImageViewer) 中使用(根据我的程序)

从 json 会话返回值以在会话外使用

如何获取注释参数的值以在 AspectJ 中使用?

如何获取每个分区的最后一个值以在 Spark SQL 中估算缺失值

如何从字符串中提取值以在 Scala 中创建案例类实例

如何从 rxjs 流中过滤单个值以在 Angular 2 组件中打印