UIApplication的打开(_:options:completionHandler :)方法通过启动在URL对象中传递的适当的存储应用程序处理到应用程序和媒体的链接。请按照以下步骤获取指向苹果网上商店(iTunes,App Store和iBooks)上销售的应用,音乐,电影或任何其他商品的链接,并从您的iOS应用程序链接到该应用程序:
1.在您的电脑上启动iTunes。
2.搜索要链接的项目。
3.在iTunes中右键单击或单击该项目的名称,然后从弹出菜单中选择“复制链接”。
4.在您的应用程序,创建一个URL与复制iTunes网址对象,那么这个对象传递给UIApplication的open(_:options:completionHandler:)方法在商店打开您的项目。
例1:使用UIApplication启动App Store。
let appstoreLink = "https://itunes.apple.com/us/app/wechat/id414478124?mt=8";
if let url = URL(string:appstoreLink),UIApplication.shared.canOpenURL(url){
UIApplication.shared.open(url, options: [:], completionHandler: { (success:Bool) in
if success{
print("启动成功");
}
})
}
例2:使用SKStoreProductViewController类
该SKStoreProductViewController类允许你从你的应用程序中出现的苹果商店(iTunes的应用程序商店和iBooks)。
import StoreKit
class ViewController: UIViewController,SKStoreProductViewControllerDelegate {
//创建一个商店产品视图控制器。
var storeProductViewController = SKStoreProductViewController()
override func viewDidLoad() {
super.viewDidLoad()
storeProductViewController.delegate = self
}
//启动商店产品视图控制器
@IBAction func clickAppstore(_ sender: Any) {
//使用App Store的iTunes识别器创建产品字典。
let parametersDict = [SKStoreProductParameterITunesItemIdentifier:414478124]
/ *尝试加载它,如果成功,呈现商店产品视图控制器,否则打印错误消息。* /
storeProductViewController.loadProduct(withParameters: parametersDict) { (status:Bool, error:Error?) in
if status{
self.present(self.storeProductViewController, animated: true, completion: nil)
}else{
if let error = error{
print("Error: \(error.localizedDescription)");
}
}
}
}
//我们关闭所呈现的商店产品视图控制器。
func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
viewController.presentingViewController?.dismiss(animated: true, completion: nil)
}
}