- Get link
- Other Apps
Show the alert within application for update the application.
func checkApplicationVersion(){
let urlString = String(format: "http://itunes.apple.com/lookup?id=%@",AppleAppID)
let url = NSURL(string: urlString)
let urlRequest = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(urlRequest, queue: NSOperationQueue.mainQueue()) { (response, data, error) -> Void in
if (error == nil)
{
do {
let appMetadataDictionary : NSDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary
let resultsArray : NSArray = appMetadataDictionary.objectForKey("results") as! NSArray
let resultsDic : NSDictionary = resultsArray.firstObject as! NSDictionary
let iTunesVersion : String = resultsDic.objectForKey("version") as! String
let appVersionString : String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
if(appVersionString.compare(iTunesVersion) != NSComparisonResult.OrderedSame) // new version exists
{
let message = String(format:"New version %@ available. Update required.",iTunesVersion)
let alert = UIAlertController(title: KEY_AppAlertTitle, message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Update", style: .Default, handler: { (action) -> Void in
let iTunesLink : String = String(format:"itms://itunes.apple.com/us/app/apple-store/id%@?mt=8",AppleAppID)
UIApplication.sharedApplication().openURL(NSURL(string: iTunesLink)!)
}))
alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))
self.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)
}
} catch let error as NSError {
print("error while lookup:- \(error)")
}
}else{
print("error occurred communicating with iTunes:- \(error)")
}
}
}
Comments
Post a Comment