【问题标题】:How do I access a certain info.plist?如何访问某个 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 中访问它们。
  • 谢谢,但我尝试将它放在常规 viewController 的测试之外,结果是一样的:/ 仍然没有
  • 编译应用然后打开IPA文件:plist文件在里面吗?测试文件是否正确复制到包中的简单方法。

标签: ios swift xcode 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...
猜你喜欢
  • 2021-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多