9

在实现和测试委托方法后,我们在 Itunes connect 中不断收到此警告消息:

这些应用内购买无法在 App Store 上推广,因为您最新的应用二进制文件不包含 SKPaymentTransactionObserver 方法。

我们在一个专门的对象中实现了从 iOS 11 购买新 App Store 的委托方法,该对象管理我们的支付和其他 SKPaymentTRansactionObserver。

func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {
    let isProUser = userDataService.isUserPro
    let isUserLoggedIn = userDataService.isUserLoggedIn

    if isUserLoggedIn && !isProUser {
        return true
    } else if isUserLoggedIn && isProUser {
        return false
    }
    paymentFromAppStore = payment
    return false
}

我们通过以下方式对其进行了测试:

itms-services://?action=purchaseIntent&bundleId=[添加您的 bundleID]&productIdentifier=[添加您的 productID]

并且在测试期间一切正常。沙盒用户调用委托和支付处理。我们提交了我们的应用程序并获得了批准,但在 Itunes connect 上没有发生任何事情。

我们是唯一面临这个问题的人吗?有没有人有答案和解决方案?

提前感谢您的任何回答!

编辑:黄色消息自行消失。我创建了一个我们转发给苹果的雷达。现在,消息似乎消失了。因此,如果在生产中有效,我们将在下一个版本中看到。我将再次更新此帖子以给出最终答案。

解决方案:问题来自 Apple 方面的 Itunes 连接。在我的雷达之后,我们的应用程序现在可以在 App Store 上购买并在 App Store 上看到。如果有人遇到与我们相同的问题,请不要犹豫,为它创建一个雷达。

4

2 回答 2

4

解决方案:问题来自 Apple 方面的 Itunes 连接。在我创建雷达之后,我们的应用现在可以在 App Store 上购买并在 App Store 上看到。如果有人遇到与我们相同的问题,请不要犹豫,为它创建一个雷达。

于 2018-01-03T12:42:08.363 回答
0

您将使用 Xcode 8 (iOS10 SDK) 遇到此问题,如果这是您的问题的原因,将通过升级到 Xcode 9 (iOS11 SDK) 来解决

于 2017-11-23T10:19:01.967 回答