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

Des*_*erd 10 storekit in-app-purchase ios ios6

在我遇到问题之前稍微奇怪的设置背景:为客户端开发应用程序,我们使用的是另一个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获得有效的产品?

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

Des*_*erd 34

不得不让一切都转移到最终账户,这确实有银行和税务信息.一旦我在其他帐户的应用程序中使用相同的名称设置IAP,完全相同的代码返回无效的产品ID完全没问题.

所以,是的,您需要银行和税务信息甚至在沙箱中进行测试.嘘 - 瓮.