以下代码在iPhone 5S,iPhone 8,iPhone X和iPhone XS以及所有iPad上的模拟器中加载。
该代码还会在8 Plus物理设备上加载。
代码在iPhone XR,XS Max和8 Plus的模拟器中崩溃。
除了以下模拟器尺寸崩溃时,还会显示此错误消息:“ [Snapshotting] Snapshotting a view (0x615000095e00, UIView) that has not been rendered at least once requires afterScreenUpdates:YES.
”
代码如下:
let storeViewController:SKStoreProductViewController = SKStoreProductViewController();
storeViewController.modalPresentationStyle = .pageSheet
storeViewController.delegate = self;
self.present(storeViewController, animated: true, completion: nil);
var productparameters = [String : String]()
productparameters = [SKStoreProductParameterITunesItemIdentifier:appID, SKStoreProductParameterAffiliateToken:"123abc", SKStoreProductParameterProviderToken:"123456", SKStoreProductParameterCampaignToken:campaignName];
storeViewController.loadProduct(withParameters: productparameters, completionBlock: { (success: Bool, error: Error?) -> Void in
})
崩溃后我偶尔也会收到此错误消息:
任何帮助将不胜感激!我已经在两台不同的Mac上尝试过,并且在重新启动Xcode并清理了build文件夹后,却始终在模拟器中的XR,XS Max和Plus设备上崩溃。
答案 0 :(得分:1)
由于模拟器没有App Store,因此StoreKit在模拟器上不可用。它需要一个物理设备。
当然,它应该不会崩溃。但这听起来像是苹果代码的错误。为此,最好将其直接报告给他们。
在实际的物理设备上运行应该可以!