相关疑难解决方法(0)

StoreKit In App购买无效的商品标识码

可能重复:
iPhone StoreKit - 无效的产品ID

我从中得到一个空数组的产品标识符SKProductsRequest.

我做了以下步骤:

  1. 在iTunes Connect中的"管理用户"下创建了一个应用内购买测试用户帐户

  2. 在"管理您的应用内购买"下创建了一些应用内购买产品.

  3. 将应用程序加载到iPhone上,转到设置→存储并退出常规存储

  4. (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response回调中设置断点

所有提交的产品ID都在响应的invalidProductIdentifiers属性中.在提交请求时,我尝试了在步骤2中创建的产品ID以及前缀为Bundle ID的ID.

提前致谢,

Raghu

iphone storekit

83
推荐指数
7
解决办法
5万
查看次数

iOS应用内购买 - 未收到任何产品

我正在尝试按照此处描述的技术将应用内购买添加到我的应用中:

iOS 6教程中的应用程序内购买简介

我通过itunes connect添加了一个产品,其ID设置如下:

com.mycompany.myapp.myproduct1
Run Code Online (Sandbox Code Playgroud)

bundle id(在p-list和app store中指定)设置如下:

 com.mycompany.myapp
Run Code Online (Sandbox Code Playgroud)

我正在使用教程IAHelper中的助手类来处理购买功能(相关代码如下所示).它还有一个子类,主要用于将应用内产品的ID添加到IAHelper的产品ID数组中.

为了测试代码,我创建了一个标有"show products"的按钮,它调用了这个方法:

- (IBAction) showProducts {

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productsLoaded:) name:kProductsLoadedNotification object:nil];

    Reachability *reach = [Reachability reachabilityForInternetConnection]; 
    NetworkStatus netStatus = [reach currentReachabilityStatus];    
    if (netStatus == NotReachable) {        
        NSLog(@"No internet connection!");        
    } else {        
        if ([InAppMyAppAPHelper sharedHelper].products == nil) {


            // here's where it calls the helper class method to request the products
            [[InAppMyAppAPHelper sharedHelper] requestProducts];

            self.hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
            _hud.labelText = @"Loading vocabulary...";
            [self performSelector:@selector(timeout:) withObject:nil afterDelay:30.0];

        } …
Run Code Online (Sandbox Code Playgroud)

in-app-purchase ios

15
推荐指数
2
解决办法
2万
查看次数

iOS应用内购买:沙盒无效的产品ID

在我遇到问题之前稍微奇怪的设置背景:为客户端开发应用程序,我们使用的是另一个iTunes开发人员帐户,而不是最终发布的用于开发和应用程序的Ad-Hoc版本的应用程序有Game Center和IAP集成.显然,我们最终必须在最终版本帐户上复制我们的设置,但问题似乎是无关的.

问题是尝试在沙箱中测试应用程序内购买.我们在临时账户中没有任何税务/银行信息,它没有以我的名义设置,所以我不能只添加我的.现在,每次我们发送SKProductsRequest和我在临时应用程序帐户的iTunes Connect部分添加的产品的产品标识符时,它都会在响应中作为无效的产品标识符返回.

这个请求在哪里identifiers是一个数组,其中包含我想要获得的字符串产品标识符:

_productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:identifiers]];
_productsRequest.delegate = self;
Run Code Online (Sandbox Code Playgroud)

而这个委托方法:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
   /*Other code for handling valid responses*/ 

    for (NSString *invalidProductId in response.invalidProductIdentifiers) {
        DLog(@"Invalid product id: %@" , invalidProductId);
    }
}
Run Code Online (Sandbox Code Playgroud)

返回标识符的此日志:

 -[InAppPurchaseManager productsRequest:didReceiveResponse:] Invalid product id: [Product ID That matches the one in ITC exactly]
Run Code Online (Sandbox Code Playgroud)

我知道ITC正在临时帐户中工作,因为我们所有的GameCenter沙箱集成都能正常运行.

其他注意事项:

  • 模拟器和多个设备上的结果相同.
  • 在sim和所有设备上退出正常的iTunes/App商店帐户.
  • 试着等了24个小时再试一次.
  • 试图添加一个不同的产品并尝试其标识符(虽然我没有等待24小时).
  • 看看这个:通过应用内购买解决无效的产品ID问题?不幸的是,并没有看到任何有用的东西.

在这一点上,我很难过.除了让设置此临时帐户的人员添加他们的税/银行信息之外,我还能做些什么才能从SKProductsRequest获得有效的产品?

任何帮助将不胜感激.谢谢!

storekit in-app-purchase ios ios6

10
推荐指数
1
解决办法
7328
查看次数

标签 统计

in-app-purchase ×2

ios ×2

storekit ×2

ios6 ×1

iphone ×1