2016-07-12 10 views
1

Я хотел реализовать версию приложения для своего приложения, но я не понимаю, почему он не работает? Результат, показывающий i, был успешно добавлен, но когда я открываю файл pList из моего Xcode, он не меняется? Почему это? Вот мой код:Plist not change value [swift]

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


     } 


} 

plist

+0

Вы не можете писать в info.plist (ни в любой другой файл в комплекте приложений) во время выполнения. – vadian

+0

@vadian, но я хотел реализовать свою собственную версию api, чтобы постоянно обновлять пользовательское обновление, как это сделать? PLS руководство мне – mimi93

ответ

2

Вы не можете обновить (Bundle PLIST) во время выполнения. Если вы хотите использовать, то вы просто сделаете один copy на своем Document Directory, затем вы можете выполнить любые operation.

Write and Read a plist in swift with simple data

+0

, но я хотел реализовать мою собственную версию api, чтобы заставить пользователя обновлять каждый раз, как это сделать? pls guide me – mimi93

+0

Как только вы скопируете plis в каталог документов, вы можете проверить или обновить версию api. –

+0

Вы хотите скопировать файл plist в новый файл plist? то только я могу читать и писать plist? – mimi93

0

Apple, не позволяют обновлять info.plist обновление во время выполнения в приложении.