的Xcode 8 Beta中6:storeViewController.loadProduct

问题描述:

可能是什么错此行的斯威夫特3,导致试图构建应用程序失败...的Xcode 8 Beta中6:storeViewController.loadProduct

storeViewController.loadProduct(withParameters: productparameters, completionBlock: { (success: Bool, error: NSError?) -> Void in 
}) 

我没有得到该行上显示错误。我得到“命令因信号失败:分段错误:11”错误。在该错误的日志中,它指向该行:

2. While type-checking expression at [/Users/MyApp/MyViewController.swift:327:13 - line:331:14] RangeText="storeViewController.loadProduct(withParameters: productparameters, completionBlock: { (success: Bool, error: NSError?) -> Void in 
      })" 

如果我评论该行,该应用程序将生成并运行时没有问题。


之前而来的台词:有错误更换NSError

let storeViewController:SKStoreProductViewController = SKStoreProductViewController(); 
storeViewController.modalPresentationStyle = .pageSheet 
storeViewController.delegate = self; 

self.present(storeViewController, animated: true, completion: nil); 

let productparameters = [SKStoreProductParameterITunesItemIdentifier:idString, SKStoreProductParameterAffiliateToken:affString, SKStoreProductParameterCampaignToken:campString]; 
+0

我在xcode-beta1中试过你的代码,能够建立它。可能是beta6的问题。 –

+0

我没有解决方案,但只是更多的调试尝试。有一件事要尝试看看你的'productparameters'字典,这可能是导致崩溃的原因吗?例如,如果您传递空字典,会发生什么情况? – pbodsk

+0

谢谢@pbodsk!传入一个空的产品参数字典[String:Any]()使得Xcode向我揭示了真正的错误......这是NSError需要更改为错误 – RanLearns

在这个时候,我的解决方案。

storeViewController.loadProduct(withParameters: productparameters, completionBlock: { (success: Bool, error: Error?) -> Void in 
})