iOS快速跳转到App Store

iOS跳转到App Store

直接跳转应用App Store

可以直接从iTunes中获取App的APPID,拼接URL使用UIApplication打开链接。
拼接方式

  • 跳转到App首页
    • itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=APPID
    • itms-apps://itunes.apple.com/app/idAPPID
  • 跳转到评论页
    • itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=APPID
1
2
3
4
5
6
7
openWithURLString(urlStr: urlString)
func openWithURLString(urlStr: String) -> Void {
let url = URL(string: urlStr)!
if (UIApplication.shared.canOpenURL(url)) {
UIApplication.shared.open(url, options: ["":""], completionHandler: nil)
}
}

注意:尽量不要使用iTunes中直接获取到的链接跳转到App Store,这些链接中含有地区路径。比如// https://itunes.apple.com/cn/app/moveless-chess/id1150283105?mt=8中的cn代表中国。

应用内跳转到App Store

需要使用到StoreKit中的SKStoreProductViewController类,同样需要获取应用的APPID,但不会再次调起App Store。

具体实现:

1
2
3
4
5
6
7
8
9
10
11
func go2AppStore() -> Void {
let productVC = SKStoreProductViewController()
productVC.loadProduct(withParameters: [SKStoreProductParameterITunesItemIdentifier:"appid"], completionBlock: nil)
productVC.delegate = self
present(productVC, animated: true, completion: nil)
}

//TODO: SKStoreProductViewControllerDelegate
func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
viewController.dismiss(animated: true, completion: nil)
}