ios - Xcode 10.1 - 模拟器崩溃尝试在横向 iPhone 8 Plus、iPhone XR 和 iPhone XS Max 中呈现 SKStoreProductViewController
问题描述
以下代码在 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。它需要一个物理设备。
当然,它应该不会崩溃。但这听起来像是苹果代码的一个错误。可能最好直接向他们报告。
在实际的物理设备上运行应该可以工作!
推荐阅读
- javascript - 如何在javascript中修复无序的“获取”
- regex - 用于排除多个字符串的正则表达式
- mysql - R Studio(在 EC2 云上)无法使用 rmysql 将数据下载到 RDS
- r - rsparkling as_h2o_frame 不起作用:java.lang.OutOfMemoryError:超出 GC 开销限制
- angular - 使用 Angular 6 更新表单值时出现延迟
- laravel - MVC 和模型职责
- intellij-idea - 升级到 Kotlin 1.3 后我仍然无法使用合约
- regex - Impala Regex:匹配字符 a 和 b 之间的字符串(如果 b 存在)
- javascript - 根据数组锚定并在菜单中突出显示部分
- php - 为什么我的 Select2 在 Laravel 项目中不起作用?