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

Sri*_*lam 83 iphone storekit

可能重复:
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

Héc*_*mos 172

我尝试了在Apple论坛和这里建议的所有内容,但仍无法使其工作.找到解决方案 - 您的应用程序需要通过Xcode传输才能启用沙箱.

很明显,对吧?好吧,如果您正在使用现有应用程序的更新,设备仍会将其视为App Store安装的应用程序.

因此,请从您的设备中删除该应用.然后使用Build&Run将应用程序安装回设备,同时将设备连接到Mac.它现在应该工作:)

  • 我想制作10个新帐户并再投票10次. (19认同)
  • 有人应该给这个人一枚奖牌 (9认同)
  • 不好意思,通过Xcode转移应用程序是什么意思?再次将其上传到设备,到AppStore?我创建了一个带有应用内购买项目的占位符,该应用程序仍未准备好上传到AppStore.我一直得到无效的产品ID.我使用调试版. (5认同)
  • 人!你是男人!! (5认同)
  • 是的,我认为奖牌是需要的 (4认同)
  • 你刚救了我一个偏头痛.谢谢! (3认同)
  • 天哪,我简直不敢相信我有多愚蠢.五个月后,我忘记了这个答案.谷歌再次搜索并再次降落在这里.我觉得多丽丝在拯救尼莫.赫克托,你是我的英雄. (2认同)
  • 别客气 :) (2认同)
  • 哈哈谢谢.在提交我的应用程序之前,我正在进行最终测试,以确保我的CoreData迁移在实时版本中运行良好,并且我遇到了这个问题.你的回答是一个巨大的解脱;) (2认同)
  • 谢谢你,谢谢你,谢谢你! (2认同)
  • 我爱你 !!!!! (2认同)
  • 我欠你的第一个孩子! (2认同)
  • 也为我工作!! 哦,我花了几个小时试图解决这个问题! (2认同)
  • 谢谢:)你的答案在百万次尝试后解决了我的问题. (2认同)

小智 70

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

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

  • "你有没有尝试从你的设备删除该应用程序并重新安装"你确定了我的问题!谢谢 (5认同)

小智 33

付费应用程序的合同必须生效才能接收有关所配置的应用程序内购买的数据.

这对我有用.我有同样的问题.

  • 是的,我必须进入 itunesconnect -> 协议 -> 付费应用程序。 (2认同)

小智 21

我是这里的受害者之一.好吧,我是.昨天,我遇到了问题并且修改了很多次所有步骤.今天,我回顾了troybrant的所有列表.

1)确定我的错误,我忘了创建正确的分发配置文件:修复

2)上传二进制文件并立即拒绝:他们说它比没有上传更好

3)好的,其他修复:从xcode(XXXXXXXXXX.company.app到com.company.app)中的任何地方删除了我的域名之前的10位数字

还是行不通.

4)检查我的设备是否与itunes帐户无关.

5)每次清理构建并有时从设备中删除应用程序

还是行不通.

6)最后,在询问产品时,我只使用了productID,而不是整个com.company.app.productID.

它有效.

我认为有时候我们会犯一个以上的错误,当你纠正所有这些错误时,很难知道问题究竟是什么原因.

现在我很高兴

  • 当所有其他方法都失败时,确认仅使用产品ID(步骤6)也适用于我. (4认同)

Phi*_*vin 18

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

  • 您未完成所有财务要求(请参阅本文档的"合同,税务和银行信息"部分).
  • 您没有使用显式的App ID.
  • 您没有使用与您的显式应用ID相关联的配置文件.
  • 您没有在代码中使用正确的产品标识符.有关产品标识符的更多信息,请参阅技术问答,QA1329,"在应用内购买产品标识符".
  • 您没有在iTunes Connect中清除待售应用内购买产品.
  • 您可能已修改过您的产品,但这些更改尚未可用于所有App Store服务器.
  • 如果您或App Review拒绝了iTunes Connect中的最新二进制文件.

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


小智 13

似乎人们对产品ID感到困惑.

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

您必须使用您在iTunes Connect上创建的EXACT产品ID.就我而言,我刚刚创建了"Product1",在调用SKProductsRequest时使用了它,就是这样.

没有更多的痛苦.

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


Mug*_*nth 2

您是否从 Settings.app 注销了 AppStore?仅当您注销时,才会提示您重新登录。

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

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