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 {