需要在应用的Xcode项目中,添加能够处理应用内购买的代码。代码示例如下:
1.在AppDelegate.m文件中导入StoreKit库
#import
2.在AppDelegate.m文件中添加以下代码:
@interface AppDelegate ()
@end
@implementation AppDelegate
// 监听应用内购买操作 [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
return YES; }
#pragma mark - SKPaymentTransactionObserver
for (SKPaymentTransaction *transaction in transactions) { switch (transaction.transactionState) { case SKPaymentTransactionStatePurchasing: // 正在购买中 NSLog(@"Transaction purchasing"); break; case SKPaymentTransactionStatePurchased: // 购买成功 NSLog(@"Transaction purchased"); [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; break; case SKPaymentTransactionStateFailed: // 购买失败 NSLog(@"Transaction failed"); [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; break; case SKPaymentTransactionStateRestored: // 已经购买过该商品 NSLog(@"Transaction restored"); [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; break; case SKPaymentTransactionStateDeferred: // 交易等待确认 NSLog(@"Transaction deferred"); break; default: break; } } }
@end
代码解释: 1.首先,在AppDelegate.m文件中导入StoreKit库。 2.然后,在AppDelegate.m文件中添加了一个遵守SKPaymentTransactionObserver协议的代理。该代理能接收并处理应用内购买的相关操作。 3.在AppDelegate.m文件的application:didFinishLaunchingWithOptions:方法中,监听了应用内购买操作