iOS: 无法在沙盒环境中恢复消耗品购买
iOS: Can't restore consumable purchases in the sandbox environment
我已经创建了一些消耗性 IAP 并在沙盒环境中对其进行了测试。
但是,即使我购买的商品很少,恢复购买也不会 return 任何交易...
我如何测试它?
这是我的代码
激活恢复购买的按钮触发器
if (SKPaymentQueue.canMakePayments()) {
print("restore payment")
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}
恢复购买paymentQueueRestoreCompletedTransactionsFinished
func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue) {
print("\(queue.transactions.count)")
for transaction:AnyObject in queue.transactions
{
let trans : SKPaymentTransaction = transaction as! SKPaymentTransaction
//var identifier : NSString = trans.payment.productIdentifier
let identifier : NSString = trans.originalTransaction!.payment.productIdentifier
print("pdi \(identifier)")
}
}
Consumable products
无法从苹果服务器恢复。对于消耗品,您必须在自己的服务器上手动管理购买清单。
如果您想要可恢复的产品,那么您只需在 iTunes 中使用 Non-Consumable
产品即可。
我已经创建了一些消耗性 IAP 并在沙盒环境中对其进行了测试。 但是,即使我购买的商品很少,恢复购买也不会 return 任何交易...
我如何测试它? 这是我的代码
激活恢复购买的按钮触发器
if (SKPaymentQueue.canMakePayments()) {
print("restore payment")
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}
恢复购买paymentQueueRestoreCompletedTransactionsFinished
func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue) {
print("\(queue.transactions.count)")
for transaction:AnyObject in queue.transactions
{
let trans : SKPaymentTransaction = transaction as! SKPaymentTransaction
//var identifier : NSString = trans.payment.productIdentifier
let identifier : NSString = trans.originalTransaction!.payment.productIdentifier
print("pdi \(identifier)")
}
}
Consumable products
无法从苹果服务器恢复。对于消耗品,您必须在自己的服务器上手动管理购买清单。
如果您想要可恢复的产品,那么您只需在 iTunes 中使用 Non-Consumable
产品即可。