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

Xcode 10.1 - Simulator crash attempting to present SKStoreProductViewController in landscape iPhone 8 Plus, iPhone XR, and iPhone XS Max

以下代码在 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 并清理构建文件夹后,它在模拟器中的 XR、XS Max 和 Plus 设备上一直崩溃。

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

当然,它应该不会崩溃。但这听起来像是 Apple 代码的错误。可能最好直接向他们报告。

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