SKPaymentTransactionObserver `In-app purchases can

2020-07-06 13:07发布

问题:

We keep getting this warning message in Itunes connect after implementation and test of the delegate method:

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

We implemented the delegate method for the new App Store purchase from iOS 11 in a dedicated object that manages our payments and other 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
}

We tested it with:

itms-services://?action=purchaseIntent&bundleId=[add your bundleID]&productIdentifier=[Add your productID]

And everything worked fine during tests. The delegate is called and payment processing for sandbox users. We submitted our app and we've been approved but nothing happened on Itunes connect.

Are we the only one facing this issue? Does anyone have an answer and solution?

Thanks in advance for any answer!

EDIT: Yellow message disapear on its own. I created a radar that we foward to apple. And now it seams that the message disapear. So we will see with our next release if if works in production. I will update this post again to give a final answer.

SOLUTION: Problem was from Apple side on Itunes connect. After my radar our app has now App Store purchase available and visible on the App Store. If someone has the same issue that we had, don't hesitate to create a Radar for it.

回答1:

SOLUTION: Problem was from Apple side on Itunes connect. After the radar I created, our app has now App Store purchase available and visible on the App Store. If someone has the same issue that we had, don't hesitate to create a Radar for it.



回答2:

You will get this problem using Xcode 8 (iOS10 SDK) and, if that is the cause of your problem, it will be fixed by upgrading to Xcode 9 (iOS11 SDK)