您的位置:首页 > 移动开发 > IOS开发

iOS 版本更新

2015-06-02 15:50 211 查看
func checkAppVersion(url : String!){
var infoDic : [NSObject:AnyObject] = NSBundle.mainBundle().infoDictionary!
debugPrintln("infoDictionary-\(infoDic.description)")
var curVersion : String = infoDic["CFBundleShortVersionString"] as! String //infoDic["CFBundleVersion"] as! String
var appId :String = "994077755"//infoDic["CFBundleIdentifier"] as! String
var requestUrl :NSURLRequest! = NSURLRequest(URL:NSURL(string:"http://itunes.apple.com/lookup?id=\(appId)")!) as NSURLRequest
var operation : AFHTTPRequestOperation = AFHTTPRequestOperation(request:requestUrl)

operation.setCompletionBlockWithSuccess({ (op : AFHTTPRequestOperation!, responseObject :AnyObject!) -> Void in
var error :NSError? = nil
if responseObject == nil {
return
}
if responseObject is NSData{
if NSJSONSerialization.JSONObjectWithData(responseObject as! NSData, options: NSJSONReadingOptions.MutableContainers, error: &error) is NSDictionary {

//responseObject.responseData as NSData
var json : NSDictionary! = NSJSONSerialization.JSONObjectWithData(responseObject as! NSData, options: NSJSONReadingOptions.MutableContainers, error: &error) as! NSDictionary //Dictionary <AnyObject,String>
if error == nil {
if json != nil {
debugPrintln("responseObject -----\(json)")
var resultCount : Int! = json.valueForKey("resultCount")?.integerValue!
if resultCount == 1 {
var resultArray : Array<AnyObject>! = json.valueForKey("results") as! Array<AnyObject>
var resultDict: AnyObject = resultArray[0]
var resultVersion : String! = resultDict.valueForKey("version") as! String
if resultVersion > curVersion {
debugPrintln("当前版本不是最新")
if self.block_checked != nil {
self.block_checked(resultDict)
}
return
}
debugPrintln("当前版本是最新")

}
}
}
}
}
}, failure: { (op :AFHTTPRequestOperation!,err: NSError!) -> Void in
debugPrintln("err -----\(err)")

})
operation.start()
}


调用检查更新的方法:

checkVersion.checkAppVersion(nil)
checkVersion.block_checked = {
(obj : AnyObject!) in
self.getAlertTitle("现在有新版本了,是否更新?", obj: obj)
}


有新版本时,尽量清除启动页的Key

func getAlertTitle(title:String!,obj:AnyObject!){
alert = SYUIView_Alert_base(title: nil, message: title, cancelButtonTitle:"暂不", otherButtonTitles: ["现在更新"])
alert.showAlertInViewController(self.tabBarController!)
alert.block_Done = {
(item:AnyObject!)  in var traceUrl : String! = obj.valueForKey("trackViewUrl") as! String
if traceUrl != nil {
NSUserDefaults.standardUserDefaults().removeObjectForKey("everLaunched")
NSUserDefaults.standardUserDefaults().synchronize()
UIApplication.sharedApplication().openURL(NSURL(string: traceUrl)!)
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: