以编程方式更新 info.plist 中的值 [重复]
Posted
技术标签:
【中文标题】以编程方式更新 info.plist 中的值 [重复]【英文标题】:updating value in info.plist programmatically [duplicate] 【发布时间】: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 并将其保存在本地某处。之后你可以对你的属性列表文件做任何你想做的事情 【参考方案1】:应用的捆绑包是只读的。您无法保存对捆绑包的更改。
编辑:
而且,正如“Alexander”所说,您不应该尝试让程序自我修改。即使有可能,那也是一种糟糕的编码习惯。
【讨论】:
更重要的是:你不仅不能,而且你也不应该,即使有可能。 好的,谢谢你的帮助,我以前不知道这个以上是关于以编程方式更新 info.plist 中的值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式访问 iOS 中其他已安装应用程序的 info.plist?
我可以在应用程序运行时以编程方式翻转 Info.plist 值吗?