在实现和测试委托方法后,我们在 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 上看到。如果有人遇到与我们相同的问题,请不要犹豫,为它创建一个雷达。