我正在使用iOS中的应用内购买,我购买时使用的是非耗材类型。我已经购买了这些东西,现在正在测试恢复过程。 当我要恢复它时问我苹果用户ID和密码,然后它显示我弹出文本
“您已购买此产品但未下载。[环境:沙箱]”
如果我点击“确定”,则不会发生任何事情。
我坚持这个,找不到方法。有人可以帮我吗??
这是我使用的委托方法。
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction * transaction in transactions){
switch(transaction.transactionState)
{
case SKPaymentTransactionStatePurchasing:
{
NSLog(@"purchasing");
break;
}//new
case SKPaymentTransactionStatePurchased:
{
NSLog(@"purchased");
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
// unlocking data code
break;
}//new
case SKPaymentTransactionStateRestored:
{
NSLog(@"In the restoring state");
break;
}//new
case SKPaymentTransactionStateFailed:
{
////////v//////nnn////////NSLog(@"failed");
switch (transaction.error.code)
{
case SKErrorUnknown:
NSLog(@"SKErrorUnknown");
break;
case SKErrorClientInvalid:
NSLog(@"SKErrorClientInvalid");
break;
case SKErrorPaymentCancelled:
NSLog(@"cancelled");
break;
case SKErrorPaymentInvalid:
NSLog(@"SKErrorPaymentInvalid");
break;
case SKErrorPaymentNotAllowed:
NSLog(@"SKErrorPaymentNotAllowed");
break;
default:
NSLog(@"No Match Found for error");
break;
}
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
[[SKPaymentQueue defaultQueue]removeTransactionObserver:self];
break;
}
}
}
}
答案 0 :(得分:0)
在iTunesConnect中添加IAP时,您选择是否使用Apple托管它(请查看下面的SS),发布的警告似乎表明您选择使用Apple托管内容,但我认为您没有托管任何内容在Apple服务器上,如果是这种情况,请确保选择“否”选项,如下面的SS。
希望它有所帮助。
答案 1 :(得分:0)
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];