SKPaymentTransactionObserver iTunes connect 上的“应用内购买无法在 App Store 上推广”,但已委托实施和测试

SKPaymentTransactionObserver `In-app purchases can’t be promoted on the App Store` on iTunes connect but delegate implemented and tested

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

These in-app purchases can’t be promoted on the App Store because your latest app binary doesn’t include the SKPaymentTransactionObserver method.

我们在管理我们的付款和其他 SKPaymentTRAnsactionObserver 的专用对象中实现了从 iOS 11 购买新 App Store 的委托方法。

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=[add your bundleID]&productIdentifier=[Add your productID]

测试期间一切正常。委托被调用并为沙箱用户进行支付处理。 我们提交了我们的应用程序并获得批准,但在 Itunes 连接上没有任何反应。

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

提前感谢您的回答!

编辑:黄色消息自行消失。我创建了一个我们转发给苹果的雷达。现在消息似乎消失了。因此,我们将在下一个版本中查看是否可以在生产中使用。我将再次更新此post以给出最终答案。

解决方案:问题出在 Apple 端的 Itunes 连接上。在我的雷达之后,我们的应用程序现在可以在 App Store 上购买并在 App Store 上可见。 如果有人遇到与我们相同的问题,请毫不犹豫地为其创建雷达。

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

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