测试应用内购买时使用哪个配置文件?

Posted

技术标签:

【中文标题】测试应用内购买时使用哪个配置文件?【英文标题】:Which Provisioning Profile to use when testing In App Purchase? 【发布时间】:2010-11-02 00:12:59 【问题描述】:

我已经在 iTunes Connect 中设置了我的应用程序,并进行了应用程序内购买。已经 24 小时了,我仍然从 SKProductsRequest 收到零产品。

我想知道我使用的配置文件是否有问题。我创建了一个新的 App ID,并使用该 App ID 创建了一个使用相同 App ID 的开发和分发配置文件。我使用分发配置文件构建了应用程序并将其上传到应用程序商店。

现在我正在使用开发配置文件来测试应用程序 - 这就是我想知道我是否犯了错误的地方。我不应该在这里使用开发配置文件吗?我应该使用 Ad Hoc 分发吗?

【问题讨论】:

【参考方案1】:

最大的问题是应用内购买的界面似乎发生了很大变化。以下是 2010 年 11 月 1 日对我有用的步骤:

在 Provisioning Portal 中创建新的 App ID 使用新的 AppID 创建开发配置文件 在 iTunes Connect 中创建一个新应用程序。输入基本信息,但不要上传二进制文件。不要点击“准备上传二进制文件”按钮。 为应用创建应用内购买产品。产品的状态应为“开发者批准” 在 iTunes Connect 中,返回应用详细信息并将您的新应用内购买产品添加到应用详细信息的应用内购买部分。 使用您创建的 Development Provisioning Profile 从 XCode 运行项目。

我这样做了,它立即生效 - 尽管您可能需要等待您的应用内购买产品通过 Apple 的系统传播。


提示: 我使用了这个教程中的代码: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

确保您的应用 ID 是应用内购买产品 ID 的基础 如果您的 App ID 是 com.website.app 您的应用内购买产品的 ID 应该是 com.website.app.productname

确保您的 .plist 文件中有 AppID


此页面上的清单很有帮助,虽然有点过时。 http://troybrant.net/blog/2010/01/invalid-product-ids/

这是一个更新的清单:

您是否为您的产品检查过清仓销售?

您项目的 .plist Bundle ID 是否与您的 App ID 匹配?

您是否为新的 App ID 生成并安装了新的 Development Provisioning Profile?

您是否已将项目配置为使用此新的开发配置文件进行代码签名?

您是在为 iPhone OS 3.0 或更高版本构建吗?

您在发出 SKProductRequest 时是否使用了完整的产品 ID?

您是否在将产品添加到 iTunes Connect 后等待了几个小时?

您的银行详细信息在 iTunes Connect 上是否有效? (通过马克)

【讨论】:

我还发现,如果一切都设置好了,但仍然无法正常工作,退出并重新启动 XCode 会有所帮助。【参考方案2】:

首先,您必须在实际设备上运行您的程序。 StoreKit API 无法在模拟器上运行。

在扯掉头发之前,请阅读这两页。他们都对我进行应用内购买非常有帮助。第二个链接是使用 StoreKit API 获取结果所需事项的直接清单。

http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

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

【讨论】:

我在设备上运行它,但不清楚我应该如何(调试、临时,...)运行它。我将检查建议的页面并在此处更新。

以上是关于测试应用内购买时使用哪个配置文件?的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 iTunes Store(获取应用内购买列表)

使用 StoreKit 问题的应用内购买

iPhone - 应用内购买问题

应用内购买,始终无效的产品ID

完成测试应用内购买后我需要做啥

测试应用内计费:“发​​布者无法购买此项目”