如何访问某个 info.plist?
Posted
技术标签:
【中文标题】如何访问某个 info.plist?【英文标题】:How do I access a certain info.plist? 【发布时间】:2021-11-16 09:41:07 【问题描述】:我有多个 info.plist
文件并希望以编程方式访问它们。我在这里阅读了如何做到这一点:
https://sarunw.com/posts/how-to-read-info-plist/
但是当我尝试时:
let infoPlistPath = Bundle.main.url(forResource: "Myplist-Info", withExtension: "plist")
print(infoPlistPath)
它返回 nil。
我尝试将plist
添加到相应的目标中,结果相同。
我还尝试将plist
添加到设置copy bundle resource
。但它仍然返回 nil。
我该如何做到这一点?
【问题讨论】:
那是你的 plist 文件的真实名称吗?区分大小写等?你能截图你的 XCode 视图吗? 不,不是,因为公司政策等原因,我只是在 SO 上写了一些别的东西。我已经尝试了多个 info.plist 文件,但都是一样的......如果有帮助,我正在尝试在 unitTest 中访问它们。 ***.com/questions/19151420/… ? 谢谢,但我尝试将它放在常规 viewController 的测试之外,结果是一样的:/ 仍然没有 编译应用然后打开IPA文件:plist文件在里面吗?测试文件是否正确复制到包中的简单方法。 【参考方案1】:我附上了获取Info.plist所有属性的代码。
func getDataFromInfoPlist()
if let path = Bundle.main.path(forResource: "Info", ofType: "plist")
let infoListValue = NSDictionary(contentsOfFile: path)
do
let JsonData = try JSONSerialization.data(withJSONObject: infoListValue as Any, options: .prettyPrinted)
let val = NSString(data: JsonData, encoding: String.Encoding.utf8.rawValue)! as String
print(val)
catch
print(error.localizedDescription)
print(nsDictionary as Any)
【讨论】:
谢谢,但它是一样的。所有 info.plist 文件都返回 nil...以上是关于如何访问某个 info.plist?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter - iOS 模拟器部署目标“IPHONEOS_DEPLOYMENT_TARGET”设置为 7.0 && 无法找到构建输入文件 GoogleService-Info.pl
如何以编程方式访问 iOS 中其他已安装应用程序的 info.plist?
苹果拒绝应用程序要求提供访问位置目的字符串 Info.plist