Plist 未更改值 [swift]
Plist not changing value [swift]
我想为我的应用实现应用内版本,但我不明白为什么不起作用?显示我已成功添加的输出,但是当我从 Xcode 打开 pList 文件时,它没有改变?为什么?这是我的代码:
func version(){
let urlString = jocomAPIKey + "/feed/version"
let CFBundleShortVersionKey = "CFBundleVersion"
//First get the nsObject by defining as an optional anyObject
let nsObject: AnyObject? = NSBundle.mainBundle().infoDictionary!["CFBundleVersion"]
let version = nsObject as! String
print("app version: \(version)")
Alamofire.request(.POST, urlString , parameters: ["os" : "iphone"])
.responseData { response in
let versionXML = SWXMLHash.parse(response.data!)
let versionString = (versionXML["rss"]["channel"]["item"]["version"].element?.text)
print("version string: \(versionString)")
if let plist = Plist(name: "Info") {
let dict = plist.getMutablePlistFile()!
dict[CFBundleShortVersionKey] = versionString
//3
do {
try plist.addValuesToPlistFile(dict)
print("added")
} catch {
print(error)
}
//4
print(plist.getValuesInPlistFile())
} else {
print("Unable to get Plist")
}
}
}
您无法在 运行 时更新您的(Bundle plist)。如果你想使用,那么你只需在 Document Directory
上制作一个 copy
,然后你就可以执行任何 operation
。
Write and Read a plist in swift with simple data
Apple 不允许在应用运行时更新 info.plist 更新。
我想为我的应用实现应用内版本,但我不明白为什么不起作用?显示我已成功添加的输出,但是当我从 Xcode 打开 pList 文件时,它没有改变?为什么?这是我的代码:
func version(){
let urlString = jocomAPIKey + "/feed/version"
let CFBundleShortVersionKey = "CFBundleVersion"
//First get the nsObject by defining as an optional anyObject
let nsObject: AnyObject? = NSBundle.mainBundle().infoDictionary!["CFBundleVersion"]
let version = nsObject as! String
print("app version: \(version)")
Alamofire.request(.POST, urlString , parameters: ["os" : "iphone"])
.responseData { response in
let versionXML = SWXMLHash.parse(response.data!)
let versionString = (versionXML["rss"]["channel"]["item"]["version"].element?.text)
print("version string: \(versionString)")
if let plist = Plist(name: "Info") {
let dict = plist.getMutablePlistFile()!
dict[CFBundleShortVersionKey] = versionString
//3
do {
try plist.addValuesToPlistFile(dict)
print("added")
} catch {
print(error)
}
//4
print(plist.getValuesInPlistFile())
} else {
print("Unable to get Plist")
}
}
}
您无法在 运行 时更新您的(Bundle plist)。如果你想使用,那么你只需在 Document Directory
上制作一个 copy
,然后你就可以执行任何 operation
。
Write and Read a plist in swift with simple data
Apple 不允许在应用运行时更新 info.plist 更新。