应用内购买'SKProductsRequest'无法产生成功的响应

时间:2011-03-11 23:47:30

标签: ios in-app-purchase

我们一直在尝试在沙盒环境中测试应用内购买,但无法从SKProductsRequest收到任何数据。回调

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

会被调用,但响应返回一个空数组。我只测试这个ipad,但是当我尝试这个请求时,3.2和4+都似乎都没有得到响应。

我已经仔细阅读了所有intunes连接文档,以便将iTunes连接上的app与其inapp购买项目以及SKProductsRequest对象和In App Purchase Programming Guide上的所有Apple文档联系起来以寻求帮助。我已经尝试重置证书并从头开始,并在ios配置门户中遵循“build for distribution”帮助程序。

我还在所有调试,发布和分发版本中将应用程序构建到设备上。我已经观看并关注WWDC2010 session 310 'App Publishing with iTunes Connect',但这已经过时了,因为在配置门户网站中创建app-id时,启用inapp付款检查按钮不再可见。

我还确保我的代码签名是正确的,并且该程序与所请求的inapp购买签署的正确app-id匹配。 (参见附件,bundleid与Xcode中的标识符匹配。

我确保ipad在运行测试应用程序时退出了任何iTunes帐户,并在iTunes Connect页面上添加了测试用户以进行测试。我们的iTunes Connect银行信息已全部完成。

我也检查了很多论坛,这个过程对许多人来说似乎是一个很大的灰色区域,我已经筋疲力尽了所有想法,我似乎无法得到任何产品ID的回复。

......任何人都可以帮助我吗?!!谢谢大家!

2 个答案:

答案 0 :(得分:3)

我发现自己处于类似情况。问题是我使用错误的“开发者身份”来签署我的(开发)二进制文件。由于我经常为其他公司工作,我总是只使用我的“个人”开发人员证书来签署调试版本。由于这些是测试版本,我不关心appid是什么,也不关心它与哪个公司相关联。但是,我意识到苹果允许随机开发者查询与他们无关的appid的购买细节是不安全的。

为项目制作临时设置,并确保使用与该公司关联的develeper证书对您的测试版本进行签名。进入iAP的appstore的沙箱界面必须在运行时验证这一点。

答案 1 :(得分:2)

你犯了一个非常常见的错误,我已经让自己在应用内购买。你采取了所有正确的步骤,但你错过了一步。您需要提交应用内购买。您可以通过单击iTunes Connect部分中的应用程序内购买来执行此操作,您可以通过转到管理应用程序 - >找到该部分。你的应用 - >管理应用内购买。在此详细视图中,单击右上角的“提交应用程序内购买”按钮。此按钮可能显示为灰色。如果是,您必须为您的应用上传二进制文件。如果你愿意,你可以马上拒绝。完成后,您可以返回详细视图并单击“提交”按钮。