在做In App Purchase(IAP)的时候,如果购买不成功,错误提示除了cancel除外,其他的都是提示无法链接到itunes store。
为了更准确的得到错误信息,特加入了如下代码:
switch (transaction.error.code) {
case SKErrorUnknown:
NSLog(@"SKErrorUnknown");
break;
case SKErrorClientInvalid:
NSLog(@"SKErrorClientInvalid");
break;
case SKErrorPaymentCancelled:
NSLog(@"SKErrorPaymentCancelled");
break;
case SKErrorPaymentInvalid:
NSLog(@"SKErrorPaymentInvalid");
break;
case SKErrorPaymentNotAllowed:
NSLog(@"SKErrorPaymentNotAllowed");
break;
default:
NSLog(@"No Match Found for error");
break;
}
NSLog(@"transaction.error.code %@",[transaction.error description]);
得到的输出是:SKErrorUnknown。在网上google了半天,得到许多方法,其中有一条方法对我有用,解决了问题。
做IAP的时候,在注销掉现有的App ID的时候,就马上登录了test user,后来在购买的时候就出现了不成功。后来重新申请了一个test user,这次在设置-store-注销,就退出来设置,并没有马上登录test user。等到程序运行到设备的时候,再去点击购买,这个时候会要求登录账号。这时候才输入后来申请的test user,就购买成功了。