以编程方式更新 info.plist 中的值
updating value in info.plist programmatically
我的 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”
应用的捆绑包是只读的。您无法保存对捆绑包的更改。
编辑:
而且,正如“Alexander”所说,您不应该尝试让程序自我修改。这是糟糕的编码习惯,即使它是可能的。
我的 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”
应用的捆绑包是只读的。您无法保存对捆绑包的更改。
编辑:
而且,正如“Alexander”所说,您不应该尝试让程序自我修改。这是糟糕的编码习惯,即使它是可能的。