Ответ 1
По некоторым причинам SKStoreProductViewController
не работает на симуляторе, вы должны попробовать его на самом устройстве.
Я просто попробовал это на самом устройстве и получил скриншот о том, как он выглядит на самом устройстве после того, как обратный вызов был вызван с успехом:
И вот код, который я использовал для этого:
import UIKit
import StoreKit
class ViewController: UIViewController,SKStoreProductViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func BuySomething(sender : AnyObject) {
NSLog("%@","called");//gets called
let storeViewController:SKStoreProductViewController = SKStoreProductViewController();
storeViewController.delegate = self;
var someitunesid:String = "676059878";
var productparameters = [SKStoreProductParameterITunesItemIdentifier:someitunesid];
storeViewController.loadProductWithParameters(productparameters, {
(success: Bool!,error: NSError!) -> Void in
if success {
NSLog("%@",success)
self.presentViewController(storeViewController, animated: true, completion: nil);
} else {
NSLog("%@", error)
}
})
}
// this is SKStoreProductViewControllerDelegate implementation
func productViewControllerDidFinish(viewController: SKStoreProductViewController!) {
}
}