我的应用正在使用应用内购买,我的大多数用户都可以正常购买,没有任何问题。对于这些人来说,我的应用会在购买成功后下载内容,他们很高兴。
但是,对于我越来越多的用户来说,一旦他们成功完成应用内购买,之后每次启动应用时都会要求他们输入应用商店密码。我相信这发生在呼吁:
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
我根据 Apple 应用内购买指南中的第 6 步要求启动:
- 存档指南:https ://web.archive.org/web/20130515222703/https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/AddingaStoretoYourApplication/AddingaStoretoYourApplication.html
- 实际指南:https ://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/DeliverProduct.html#//apple_ref/doc/uid/TP40008267-CH5-SW4
我的猜测是,出于某种原因,Apple 的应用内购买服务器没有注册交易成功完成 - 即使我打电话
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
当交易完成并且我的内容已成功下载时。
2个问题:
还有人看到这个吗?
有没有人有建议的修复?
赏金编辑:
它是使用不同的 Apple-ID 进行的交易。这就是为什么它无法完成,除非您在对话框中输入正确的凭据。问题应该是:
- 如何防止这种死交易(交易尚未完成,用户没有网络,同时更改App-ID)?
- 你怎么能修剪
SkPaymentQueue
?