StoreKit In App购买无效的产品标识符

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

我从SKProductsRequest获得一个空的产品标识符数组。

我做了以下步骤:

  1. 在iTunes Connect中的“pipe理用户”下创build了一个In App Purchasetesting用户帐户

  2. 在“pipe理您的应用内购买”下创build了一些应用购买产品。

  3. 将应用程序加载到iPhone上,进入设置→存储并注销常规商店

  4. (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response设置一个断点(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)responsecallback

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

提前致谢,

Raghu

我尝试了在苹果论坛和这里build议的一切,仍然无法得到它的工作。 find解决scheme – 您的应用程序需要通过Xcode传输才能启用沙箱。

很明显,对吗? 那么,如果您正在使用现有应用程序的更新,则该设备将仍然将其视为一个App Store安装的应用程序。

所以从你的设备上删除应用程序。 然后使用Build&Run将您的设备连接到Mac,将应用程序安装回设备上。 它应该现在工作:)

我一直在编译产品标识符无效的原因列表。 以下是潜在原因的清单:

http://troybrant.net/blog/2010/01/invalid-product-ids/

付费应用程序合同必须有效才能接收已configuration的应用内购买数据。

这对我有效。 我有同样的问题。

我是这里的受害者之一。 那么,我是。 昨天,我遇到了这个问题,并且经常修改所有的步骤。 今天,我审查了Trobert的所有名单。

1)确定我的错误,我忘了创build适当的分布configuration文件:固定

2)上传了一个二进制文件,立即被拒绝:他们说它比没有上传更好

3)确定,其他修正:删除我的域名之前的Xcode(XXXXXXXXXX.com.company.app com.company.app)

还是行不通。

4)检查我的设备不要连接一个iTunes帐户。

5)每次清理构build,有时从设备上删除应用程序

还是行不通。

6)最后,当要求产品时,我只使用了productID,而不是整个com.company.app.productID。

它的工作。

我想有时候我们有一个以上的错误,当你纠正所有的错误时,很难知道问题的原因究竟是什么。

现在我很高兴

我们的问题是Apple常见问题的最后一个要点,“ 为什么我的产品标识符在invalidProductIdentifiers数组中返回? ”:

  • 您没有完成所有财务要求(请参阅本文档的“合同,税收和银行信息”部分)。
  • 您没有使用明确的应用程序ID。
  • 您没有使用与您明确的应用程序ID关联的供应configuration文件。
  • 您没有在代码中使用正确的产品标识符。 有关产品标识符的更多信息,请参见技术问答QA1329“应用程序内购买产品标识符”。
  • 您没有清除在iTunes Connect中销售的应用内购买产品。
  • 您可能已经修改了您的产品,但这些更改尚不适用于所有App Store服务器。
  • 如果您或App Review在iTunes Connect中拒绝了您最近使用的二进制文件。

我通过在iTunes Connect中点击“准备好上传二进制文件”,将最新版本(已被拒绝)更改为“等待上传”,约10分钟后问题解决。

看来人们对产品ID感到困惑。

您不需要添加整个域(例如com.company.product.inappname)为InApp工作。

您必须使用您在iTunes Connect上创build的精确产品ID。 在我的情况下,我刚刚创build了“Product1”,当SKProductsRequest被调用时使用了这个,就是这样。

没有更多的痛苦。

这个链接有很多有用的信息,但缺less这个小细节: http : //troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

你有没有从Settings.app注销AppStore? 只有当您注销时,系统才会提示您再次login。

您的App ID是否启用了应用内购买? 带有通配符(*)的应用程序ID无法启用应用程序内购买。 对于您的应用程序,您应该创build一个新的应用程序ID。

我的两分钱在这里… http://blog.mugunthkumar.com/coding/iphone-tutorial-%e2%80%93-in-app-purchases/

我的问题是这里描述的第一个问题:

https://devforums.apple.com/thread/23344?start=0&tstart=0

首先,你需要确保你的门户网站的应用程序ID是正确的。“

您的应用程序内购买“清理出售”? 这是我第一次没有检查的设置。

将产品名称设置为提交给iTunes Connect的同名解决scheme。

今天我发现了另一件可能导致这类问题的事情。 有些时候,出于奇怪的原因,应用程序被破坏,所有尝试购买的东西都是错误的。 我解决了我的问题,从设备上删除应用程序,清理Xcode的构build,并再次build设到设备。

我发现如果您的应用程序在另一种语言中有不同的标题,那么除非您将iPhone语言设置为英语,否则您将遇到此问题。 它只发生在发展中; 生产似乎没有问题。

我有15个非消耗品。

突然之间,他们中的15人开始在我的一个设备(iPod Touch 4G)中显示为“无效”,但在其他设备(iPhone 4S)中有效。 确实非常奇怪。

我删除/重新安装,现在它工作正常。

有人说你必须从Xcode启动,但这不一定是真的 。 我有许多使用AdHoc构build和testing用户帐户的Beta版testing人员,大部分时间他们似乎都可以购买OK。

也就是说,整个沙盒环境总是不稳定,并有很多“停机时间”。 有时候,等待就是答案。

以防万一有人仍然无法获得“无效的产品ID”…除了在这个主题上发布的一切,我只是安装了正确的debuggingconfiguration文件,从我的iPhone删除应用程序,重新启动我的设备,并得到产品信息。 在通过模拟器获得产品信息之后,我尝试了这一点(现在可以使用最新的XCode)。 我正要上传二进制文件,然后拒绝它,但后来我尝试了以上,并得到它。 希望能帮助到你!

确保xcode中的“产品名称”与提交给iTunes Connect的应用程序相同。

经过一天左右的挣扎,无效的产品被退回,我的解决scheme是确保购买项目是“开发商批准出售”。 即使在“清除待售”项目旁边有一个绿色标记,我仍然需要上传截图并select批准。

这似乎是一个倒退和不合逻辑的做事方式,考虑到我还在testing我的应用程序,还没有准备好出售。