方法未达到完成块

我正在使用SKStoreProductViewController通过以下方法显示iTunes产品。 该方法被调用,但我没有成功或错误。 知道为什么吗?:

 @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)//no call self.presentViewController(storeViewController, animated: true, completion: nil); } else { NSLog("%@", error)//no call } }) } 

由于某些原因, 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!) { } } 

在此处输入图像描述