しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

SKStoreProductViewControllerでアプリから移動せずにStore画面に行く

StoreKitのSKStoreProductViewControllerを使ってアプリ内でアプリのページに移動してみました。

まずはStoreKitを追加します。

f:id:llcc:20161212235732p:plain

SKStoreProductViewControllerはUIViewController同様にpresentをして表示します。
Storeの情報はloadProductメソッドで読み込みます。

import UIKit
import StoreKit

class ViewController: UIViewController {
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        
        let c = SKStoreProductViewController()
        c.delegate = self
        present(c, animated: true, completion: {
            let params = [SKStoreProductParameterITunesItemIdentifier: "1099462086"]
            c.loadProduct(withParameters: params, completionBlock: { _ in
                
            })
        })
    }
}

extension ViewController: SKStoreProductViewControllerDelegate {
    func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
        // キャンセルを押した時に呼ばれる
    }
}