在应用程序购买实施

时间:2016-09-14 06:09:32

标签: ios in-app-purchase app-store itunes-store

如何在不进行实际付款的情况下查看应用内购买。我是否必须在iTunes上传内置以检查应用内购买情况。 我在iTunes中创建了产品ID,还有一个要测试的沙箱用户。 但我不知道如何继续下去。

1 个答案:

答案 0 :(得分:4)

经过漫长的研发后,我找到了解决方案。 - 首先您必须在输入所有信息后在iTunes中创建产品ID,在此之前确保所有银行,税务和帐户信息都已填写在协议中。 - 你还需要屏幕截图,要求在应用内购买。 -After ,可在xcode功能中启用应用内购买。 - 进口框架 - 将IAPHelper和RageIAPHelper类导入到您的项目中 - 在你的viewcontroller.h类中 添加这些

NSArray *_products;
NSNumberFormatter * _priceFormatter;

-(void)viewdidload
{
 [self reload];
    [[RageIAPHelper sharedInstance] restoreCompletedTransactions];
    _priceFormatter = [[NSNumberFormatter alloc] init];
    [_priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [_priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
}

- (void)restoreTapped:(id)sender {
    [[RageIAPHelper sharedInstance] restoreCompletedTransactions];
}

- (void)productPurchased:(NSNotification *)notification {

    NSString * productIdentifier = notification.object;
    [_products enumerateObjectsUsingBlock:^(SKProduct * product, NSUInteger idx, BOOL *stop) {
        if ([product.productIdentifier isEqualToString:productIdentifier]) {
            *stop = YES;
      NSLog(@" productPurchased");

}
- (void)reload {
    _products = nil;

    [[RageIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) {
        if (success) {
            _products = products;

        }

    }];
}

- (void)buyButtonTapped {


    SKProduct *product = _products[0];

    NSLog(@"Buying %@...", product.productIdentifier);
    if(product!=nil)
    {
    [[RageIAPHelper sharedInstance] buyProduct:product];
    }
    else{
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Confirm Your In-App Purchase"
                                                        message:@"Subscription is required to access thi sfeature."
                                                       delegate:self
                                              cancelButtonTitle:@"Cancel"
                                              otherButtonTitles:@"Buy", nil];
        [alert show];

    }

}
-(void)viewwillappear
{
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productPurchased:) name:IAPHelperProductPurchasedNotification object:nil];
}

在IAPHelper.m

- (void)provideContentForProductIdentifier:(NSString *)productIdentifier {
 if ([productIdentifier isEqualToString:@"com.abc.productName"]) {

        int currentValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"com.abc.productName"];
}

此处替换" com.abc.productName"使用您创建的产品ID 。 这就是代码部分 要测试应用内购买 - 退出手机设置中的现有Apple ID,并使用您从iTunes创建的沙箱用户登录。 然后你可以在没有实际付款的情况下查看它。

要下载IAPHelper类并获取文档,请参阅:https://github.com/saturngod/IAPHelper