【问题标题】:updating value in info.plist programmatically [duplicate]以编程方式更新 info.plist 中的值 [重复]
【发布时间】:2017-04-16 02:28:26
【问题描述】:

我的 info.plist 中有一个名为 radiusDistance 的值,我正在尝试更改它,我尝试使用此代码但它不会更改值

let path = Bundle.main.path(forResource: "Info", ofType: "plist")!
    var dict = NSDictionary(contentsOfFile: path) as! [String: AnyObject]


    let radiusDistance = dict["radiusDistance"]
    print("radiusDistance",radiusDistance as Any)
    let value = Int(5)


    do{
         dict.updateValue(value as AnyObject, forKey: "radiusDistance")
     try path.write(toFile: path, atomically: false, encoding:String.Encoding.utf8)
    }
    catch let error as NSError{
        print("something went horribly wrong\(error.debugDescription)")
    }

一切都运行了,但是当我回到我的 info.plist 时,没有任何变化,并且值保持在“0”

【问题讨论】:

  • 您应该在您的应用程序第一次启动时加载您的 plist 并将其保存在本地某处。之后你可以对你的属性列表文件做任何你想做的事情

标签: ios swift plist info.plist


【解决方案1】:

应用的捆绑包是只读的。您无法保存对捆绑包的更改。

编辑:

而且,正如“Alexander”所说,您不应该尝试让程序自我修改。即使有可能,那也是一种糟糕的编码习惯。

【讨论】:

  • 更重要的是:你不仅不能,而且你也不应该,即使有可能。
  • 好的,谢谢你的帮助,我以前不知道这个
猜你喜欢
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多