Open AppStore through button Open AppStore through button swift swift

Open AppStore through button


Here. But I highly suggest you learn the basics of Swift!

UIApplication.sharedApplication().openURL(NSURL(string: "itms://itunes.apple.com/de/app/x-gift/id839686104?mt=8&uo=4")!)

If you wanna open the AppStore in Swift 5:

if let url = URL(string: "itms-apps://apple.com/app/id839686104") {    UIApplication.shared.open(url)}


Swift 3 Syntax and improved with an 'if let'

if let url = URL(string: "itms-apps://itunes.apple.com/app/id1024941703"),UIApplication.shared.canOpenURL(url){    UIApplication.shared.openURL(url)}

UPDATE 7/5/17 (Thank you Oscar for pointing this out):

if let url = URL(string: "itms-apps://itunes.apple.com/app/id1024941703"),    UIApplication.shared.canOpenURL(url){    if #available(iOS 10.0, *) {        UIApplication.shared.open(url, options: [:], completionHandler: nil)    } else {        UIApplication.shared.openURL(url)    }}


I use this combination, its better for rate/shopping.

(partially from here)

    @IBAction func rateMe(sender: AnyObject) {    if #available(iOS 8.0, *) {        openStoreProductWithiTunesItemIdentifier("107698237252");    } else {        var url  = NSURL(string: "itms://itunes.apple.com/us/app/xxxxxxxxxxx/id107698237252?ls=1&mt=8")        if UIApplication.sharedApplication().canOpenURL(url!) == true  {            UIApplication.sharedApplication().openURL(url!)        }    }}func openStoreProductWithiTunesItemIdentifier(identifier: String) {    let storeViewController = SKStoreProductViewController()    storeViewController.delegate = self    let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]    storeViewController.loadProductWithParameters(parameters) { [weak self] (loaded, error) -> Void in        if loaded {            // Parent class of self is UIViewContorller            self?.presentViewController(storeViewController, animated: true, completion: nil)        }    }}func productViewControllerDidFinish(viewController: SKStoreProductViewController) {    viewController.dismissViewControllerAnimated(true, completion: nil)}

don't forget to import and delegate:

import StoreKitclass RateMeViewController: UIViewController, SKStoreProductViewControllerDelegate {