ios - SKStoreProductViewController 因名为 sceneDisconnected : in iOS 15. 6 beta5 的无法识别选择器而崩溃

标签 ios storekit ios16

在 iOS 15.6 beta5 和 iOS 16.0 beta 中:
当发布 UISceneDidDisconnectNotification 时,任何事件的 SKStoreProductViewController 实例都会因名为 sceneDisconnected 的无法识别的选择器而崩溃。
-[SKStoreProductViewController sceneDisconnected:]:无法识别的选择器发送到实例 0x115161a00
此崩溃仅发生在最新的 iOS15.6 和 iOS16 beta 版本中。然而我在任何官方文档中都找不到选择器名称……
有什么解决办法吗?或者有什么我没有做对的吗?

最佳答案

不是解决方案,而是明确表明这是 Apple 要修复的错误。从一个干净的示例项目开始,您需要做的就是提供一个 SKStoreProductViewController 然后强制退出您的应用程序:

import StoreKit
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let storeKitViewController = SKStoreProductViewController()
        storeKitViewController.loadProduct(withParameters: [
            SKStoreProductParameterITunesItemIdentifier: NSNumber(integerLiteral: 364709193)
        ])
        present(storeKitViewController, animated: true)

        // Force quit after presentation to trigger crash
        // -[SKStoreProductViewController sceneDisconnected:]: unrecognized selector sent to instance
    }

}

我已通过反馈助手向 Apple 提交了此文件。

关于ios - SKStoreProductViewController 因名为 sceneDisconnected : in iOS 15. 6 beta5 的无法识别选择器而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72907240/

相关文章:

ios 应用内购买 : When and why does SKPaymentTransactionStateRestored get sent back as status of a transaction?

swift - 你如何摆脱 iOS 锁屏小部件中的背景颜色?

ios - 当单元格在 View 外部时,ClipsToBounds重置

ios - 在后台线程上使用CoreGraphics调整图像大小时发生内存泄漏

ios - 如何使用 requestReview (SKStore Review Controller) 在随机时间后在当前 viewController 中显示评论弹出窗口

xcode - SwiftUI NavigationView/Stack(如果可用)iOS 15/16

xcode - iOS 16 + 火力地堡 : The app references non-public selectors determineAppInstallationAttributionWithCompletionHandler:

ios - 在 Storyboard 中为 TableView 实现一个事件指示器

iOS 应用程序 - 用户是否会自动收到新版本通知

objective-c - IAP 问题 - response.products 数组中没有产品