我们的应用程序中有两个用于购买非续订订阅的 IAP。
- (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions
被正确调用并在:
- (void) CompleteTransaction:(SKPaymentTransaction*)tran
我们正在调用:
[[SKPaymentQueue defaultQueue] finishTransaction: tran];
我们可以使用我们的测试帐户成功购买一次订阅。
然而,当我们尝试重新购买这些项目时,为了测试您的订阅何时到期,我们得到这个 AlertView:
"You've Already purchased this in-app purchase but it hasn't been downloaded"
我们在 iOS 5 sdk/iOS 4.1 部署目标上的 Xcode 4.2 中。
更新:
看起来这是设备上 iOS 5.0.1 中的错误。
我可以在运行 iOS 4.1 的 iPod Touch 上重新购买 IAP 项目。我可以为 SDK 4.1、4.3 或 5.0 构建应用程序,它仍然有效。但是,如果我为 SDK 4.1、4.3 或 5.0 构建应用程序并尝试在我的 iOS 5.0.1 设备上运行,它永远不会工作。
这是来自 iOS 5.0.1 设备的错误:
Failure:Error Domain=SKErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0x1f90f0 {NSLocalizedDescription=Cannot connect to iTunes Store}
最佳答案
Apple 确认了这个错误。我提交了错误报告并与 Apple 工程师来回交流。
关于iphone - SKPaymentQueue defaultQueue finishTransaction : not finishing transaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8707117/