SKProductsResponse在模拟器上返回invalidProductIdentifier,尽管应用程序中的productId和iTunes Connect之间的一致性

时间:2017-10-03 10:24:06

标签: ios objective-c in-app-purchase storekit

作为在iOS应用程序中尝试应用内购买的初学者,我按照以下步骤操作:

  1. 在应用内购买功能。
  2. 在开发者帐户上创建临时个人资料并下载 它。
  3. 创建了iTunes Connect应用程序提交。
  4. 在iTunes的“功能”部分中创建了应用内购买产品 连接。itunes screenshot
  5. 创建了相同的产品标识符数组。还在视图控制器类中实现了所需的委托。

    #import <UIKit/UIKit.h>
    #import <StoreKit/StoreKit.h>
    @interface ViewController :UIViewController<SKProductsRequestDelegate,SKPaymentTransactionObserver,SKRequestDelegate>
    
  6. 在viewdidload()

     productIds = [NSArray arrayWithObjects:@"pro1",@"pro2", nil];
    

      -(void)viewWillAppear:(BOOL)animated
       {
       if([SKPaymentQueue canMakePayments]){
       SKProductsRequest *requestPro = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithArray:productIds]];
      requestPro.delegate = self;
      [requestPro start];
       }
       else{
        NSLog(@"Cannot perform In App Purchases.");
        }
        }
    
    1. 但是 - (void)productsRequest:(SKProductsRequest *)请求didReceiveResponse:(SKProductsResponse *)响应实现返回无效产品。
    2. 请帮助我理解什么是缺乏。

1 个答案:

答案 0 :(得分:0)

您需要在真实设备上测试应用购买相关功能中的大多数功能。它们不适用于模拟器!