Xcode:如何测试主包 .plist 文件内容?

Posted

技术标签:

【中文标题】Xcode:如何测试主包 .plist 文件内容?【英文标题】:Xcode: how to test main bundles .plist file content? 【发布时间】:2018-07-09 13:45:29 【问题描述】:

我想通过单元测试确保我的主要MyApp-Info.plist 中的重要值存在且正确。有没有办法从我的单元测试包中加载该 plist?

【问题讨论】:

【参考方案1】:

这取决于您是否为测试目标设置了主机应用程序。如果没有宿主应用程序,则文件不会与测试一起复制。

如果有主机应用程序,您可以通过以下方式获取其 plist 内容:

斯威夫特:

Bundle.main.infoDictionary

目标-C:

[[NSBundle mainBundle] infoDictionary]

【讨论】:

【参考方案2】:

您也可以将 Info.plist 作为资源包含在单元测试包中。这样,就没有对主机应用程序的依赖。但是,查找和加载资源只需要一点点小技巧,这似乎总是让我很头疼。

请参阅question 以获取有关如何从 ObjC 和 Swift 执行此操作的示例。

【讨论】:

以上是关于Xcode:如何测试主包 .plist 文件内容?的主要内容,如果未能解决你的问题,请参考以下文章

测试类的包返回 Xcode 10 中的主包,而不是单元测试包

Xcode 无法将内容解析为 info.plist

Xcode Buildtime 错误:'无法加载文件列表的内容:'.../Info.plist'(在目标'xxxx'中)

如何在 Xcode 中创建 Entitlement.plist 文件?

我们如何在 Xcode 项目中创建自己的 plist 文件?

Xcode 项目中的两个 info.plist 文件如何工作?