Ios SKStoreProductViewController';s取消按钮留下一个白色的空白屏幕

Ios SKStoreProductViewController';s取消按钮留下一个白色的空白屏幕,ios,objective-c,swift,storekit,ios-extensions,Ios,Objective C,Swift,Storekit,Ios Extensions,我制作了一个带有iOS9操作扩展的快速示例项目。它在我的包含应用程序中正常工作,但在我的扩展中不正常。我在两个视图控制器中使用了相同的代码 显示商店产品视图控制器的按钮: @IBAction func storebutton(sender: AnyObject) { let storeViewController = SKStoreProductViewController() let parameters = [SKStoreProductParameterITunesItem

我制作了一个带有iOS9操作扩展的快速示例项目。它在我的包含应用程序中正常工作,但在我的扩展中不正常。我在两个视图控制器中使用了相同的代码

显示商店产品视图控制器的按钮:

@IBAction func storebutton(sender: AnyObject) {
    let storeViewController = SKStoreProductViewController()
    let parameters = [SKStoreProductParameterITunesItemIdentifier: NSNumber(integer: 377298193)]
    storeViewController.delegate = self
    storeViewController.loadProductWithParameters(parameters, completionBlock: nil)
    self.presentViewController(storeViewController, animated: true) { () -> Void in }
}
委托方法:

//MARK: SKStoreProductViewController Delegate
func productViewControllerDidFinish(viewController: SKStoreProductViewController) {
   print("Delegate")
   viewController.dismissViewControllerAnimated(true,completion: nil)
}
当我点击来自操作扩展插件的Store Product视图上的Cancel(取消)按钮时,Store(商店)视图将被取消。 但是它的委托方法永远不会被调用,整个屏幕仍然是白色的——永远不会回到Action Extension的视图

谁能帮帮我吗?

没关系。 我发现委托方法在类之外。
我不知道Xcode不会对此发出警告。

当SKStoreProductViewController没有委托集时会发生这种情况

SKStoreProductViewController * vc = [SKStoreProductViewController new];
[vc loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@"00000"} completionBlock:^(BOOL result, NSError * _Nullable error) {

}];

vc.delegate = self;