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

背景稍微奇怪的设置之前,我遇到的问题:在一个客户端的应用程序工作,我们正在使用一个不同的iTunes开发者帐户,而不是最终将发布的一个应用程序的开发和Ad-Hoc生成有Game Center和IAP集成。 显然,我们最终将不得不在最终版本帐户上复制我们的设置,但这个问题似乎是不相关的。

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

此请求其中identifiers是一个数组与string产品标识符我试图得到:

 _productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:identifiers]]; _productsRequest.delegate = self; 

而这个委托方法:

 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { /*Other code for handling valid responses*/ for (NSString *invalidProductId in response.invalidProductIdentifiers) { DLog(@"Invalid product id: %@" , invalidProductId); } } 

为此标识返回这个日志:

  -[InAppPurchaseManager productsRequest:didReceiveResponse:] Invalid product id: [Product ID That matches the one in ITC exactly] 

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

其他要注意的事项:

  • 模拟器和多个设备上的结果相同。
  • 在SIM卡和所有设备上退出正常的iTunes / App Store帐户。
  • 试图等待24小时,然后再试。
  • 尝试添加一个不同的产品,并尝试其标识符(虽然我没有在这一个24小时)。
  • 看看这个: 解决无效的产品ID问题与应用内购买? 没有看到任何可怕的帮助,不幸的是。

在这一点上,我很难过。 除了让设置这个临时账户的人添加他们的税务/银行信息之外,还有什么我可以做的从SKProductsRequest实际获得一个有效的产品?

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

伤了不得不把所有的东西都搬到最终的账户上,那里有银行和税务信息。 完全相同的代码,返回无效的产品ID是完全正确的,一旦我在同一个名称在另一个帐户的应用程序中设置IAP。

所以是的,你需要银行和税务信息,甚至在沙箱里testing。 嘘 – 瓮。

只是想确认一下,DesignatedNerd说,在testing之前,必须先与苹果公司签署付费应用协议。 昨天,我们正在使用我们的帐户在应用程序产品上testing客户端应用程序。 经过大量的networkingsearch和其他尝试,我碰巧注意到那个说我们没有达成协议的文本。 我们在itunesconnect上input了我们所有的银行信息,过了一会儿信息就消失了,我的应用程序testing开始工作了。