Xcode 10.1-尝试在横向iPhone 8 Plus,iPhone XR和iPhone XS Max中呈现SKStoreProductViewController的模拟器崩溃

时间:2018-12-27 23:45:16

标签: ios iphone swift xcode storekit

以下代码在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
            })

崩溃后我偶尔也会收到此错误消息:

enter image description here

任何帮助将不胜感激!我已经在两台不同的Mac上尝试过,并且在重新启动Xcode并清理了build文件夹后,却始终在模拟器中的XR,XS Max和Plus设备上崩溃。

1 个答案:

答案 0 :(得分:1)

由于模拟器没有App Store,因此StoreKit在模拟器上不可用。它需要一个物理设备。

当然,它应该不会崩溃。但这听起来像是苹果代码的错误。为此,最好将其直接报告给他们。

在实际的物理设备上运行应该可以!