2017-04-16 2 views
2

J'ai une valeur à l'intérieur de mon info.plist appelé radiusDistance que je suis en train de changer, je l'ai essayé en utilisant ce code, mais cela ne change pas la valeurvaleur de mise à jour dans info.plist programme

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)") 
    } 

Tout fonctionne mais quand je retourne à mon info.plist rien ne change, et la valeur reste à "0"

+0

Vous devez charger votre commande la première fois que votre application est lancée et l'enregistrer localement. Après cela, vous pouvez faire ce que vous voulez dans votre fichier de liste de propriété –

Répondre

4

Le paquet d'une application est en lecture seule. Vous ne pouvez pas enregistrer les modifications apportées à votre bundle.

+1

Le plus important: non seulement vous ne pouvez pas, mais vous * ne devriez pas *, même si c'était possible. – Alexander

+0

Très bien merci pour l'aide, je ne le savais pas avant – notJenny