2017-04-16 51 views
2

我有我的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”

+0

您应该在第一次启动应用程序时将plist加载并将其保存在本地某处。之后,你可以做任何你想要的财产清单文件 –

回答

4

应用程序的软件包是只读的。您无法将更改保存到您的包中。

+1

更重要的是:不仅你不能,而且你也不应该*,即使这是可能的。 – Alexander

+0

好的,谢谢你的帮助,我以前不知道这件事 – notJenny