Xcode 8 测试版 6:storeViewController.loadProduct

Xcode 8 Beta 6: storeViewController.loadProduct

Swift 3 中的这一行可能有什么问题导致尝试构建应用程序失败...

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

我没有收到该行显示的错误。我收到 "Command failed due to signal: Segmentation fault: 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
            })"

如果我注释掉该行,则应用程序可以毫无问题地构建和运行。


前几行:

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];

此时用 Error 替换 NSError 是我的解决方案。

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