对iOS还简单的一个内购界面。
一个简单的不续订(也就是“高级功能”)内购工具包。主要目标是易于使用。因此,没有提供更复杂的部分,如检查收据。
iOS 5或更高版本,具有ARC和StoreKit框架。
[[IAPManager sharedIAPManager] getProductsForIds:@[@"superpremiumversion"]
completion:^(NSArray *products) {
BOOL hasProducts = [products count] != 0;
if(! hasProducts) {
NSLog(@":(");
}
else {
SKProduct *premium = products[0];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:premium.priceLocale];
NSString *formattedPrice = [numberFormatter stringFromNumber:premium.price];
NSLog(@"super premium: %@ for %@", premium.localizedTitle, formattedPrice);
}
}];
- To purchase a product:
[[IAPManager sharedIAPManager] purchaseProductForId:@"superpremiumversion"
completion:^(SKPaymentTransaction *transaction) {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
UIAlertView *thanks = [[UIAlertView alloc] initWithTitle:@"Thanks!"
message:@"The extra features are now available"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[thanks show];
} error:^(NSError *err) {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
NSLog(@"An error occured while purchasing: %@", err.localizedDescription);
// show an error alert to the user.
}];
StoreKit will then ask the user if they want to purchase the product.
欢迎进行错误报告和pull requests! 通过电子邮件或直接在GitHub上打开问题与我联系。