我的应用程序中有应用程序内购买,iOS8的新功能是“延迟”交易,在atechnote中有部分描述。我了解它的作用并且我不需要阻止UI,并更新我的UI以反射(reflect)交易状态已延迟。但是我应该在-(void)transactionDeferred:(SKPaymentTransaction*)transaction方法中放置什么来暂时忽略交易?我只能更新UI吗?另外,UI的内容应该是什么?我是否需要将价格标签替换为“您的购买被推迟”之类的内容?我认为没有办法对此进行测试,至少我在沙盒测试帐户中没有看到任何相关信息。如果有一种方法可以完成整个过程并了解它是如何工作的,那对我来说会更
我的应用程序中有应用程序内购买,iOS8的新功能是“延迟”交易,在atechnote中有部分描述。我了解它的作用并且我不需要阻止UI,并更新我的UI以反射(reflect)交易状态已延迟。但是我应该在-(void)transactionDeferred:(SKPaymentTransaction*)transaction方法中放置什么来暂时忽略交易?我只能更新UI吗?另外,UI的内容应该是什么?我是否需要将价格标签替换为“您的购买被推迟”之类的内容?我认为没有办法对此进行测试,至少我在沙盒测试帐户中没有看到任何相关信息。如果有一种方法可以完成整个过程并了解它是如何工作的,那对我来说会更
我如何检查用户是否点击了取消按钮(当他被问及是否要购买smth或者他是否已经购买了这个SKProduct是否想下载它时)?现在,我只是在paymentQueue:updatedTransactions:方法中收到SKPaymentTransactionStateFailed,这两种情况都是在用户点击取消按钮之后以及例如在没有互联网的情况下发生的。有什么方法可以区分这两种情况? 最佳答案 这段代码对我有用:if(transaction.error.code!=SKErrorPaymentCancelled){NSLog(@"Other
我如何检查用户是否点击了取消按钮(当他被问及是否要购买smth或者他是否已经购买了这个SKProduct是否想下载它时)?现在,我只是在paymentQueue:updatedTransactions:方法中收到SKPaymentTransactionStateFailed,这两种情况都是在用户点击取消按钮之后以及例如在没有互联网的情况下发生的。有什么方法可以区分这两种情况? 最佳答案 这段代码对我有用:if(transaction.error.code!=SKErrorPaymentCancelled){NSLog(@"Other
调用restoreCompletedTransactions后,对于非消费品,返回的SKPaymentTransactions在其originalTransaction.transactionReceipt属性中似乎为nil。这是文档说我们应该找到原始transactionReceipt的地方:https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/MakingaPurchase/MakingaPurchase.html#//apple_ref/
在Apple的文档中,transactionDate是:ThedatethetransactionwasaddedtotheAppStore’spaymentqueue.(read-only)我只想澄清以下情况下的transactionDate是什么:在时间T1购买了东西(transactionDate是T1?)在时间T2恢复购买(transactionDate是T2还是T1?)恢复交易的originalTransaction,其transactionDate是T1还是T2?谢谢! 最佳答案 purchasedsomethingat
我有一个测试账户,其交易历史记录中恰好有两次购买。这两种产品都是非消耗品。我在iPad1上登录并购买了产品A。然后我退出了iPad1并登录了iPad2并购买了产品B。然后我尝试使用[[SKPaymentQueuedefaultQueue]restoreCompletedTransactions];恢复以前的交易以解锁iPad2上的产品A。当电话回来时,只有产品B在可恢复交易列表中。此外,当我尝试使用iPad2再次购买产品A时SKPayment*payment=[SKPaymentpaymentWithProduct:productA];[[SKPaymentQueuedefaultQu