我们一直在尝试在沙盒环境中测试应用内购买,但无法从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的回复。
......任何人都可以帮助我吗?!!谢谢大家!
答案 0 :(得分:3)
我发现自己处于类似情况。问题是我使用错误的“开发者身份”来签署我的(开发)二进制文件。由于我经常为其他公司工作,我总是只使用我的“个人”开发人员证书来签署调试版本。由于这些是测试版本,我不关心appid是什么,也不关心它与哪个公司相关联。但是,我意识到苹果允许随机开发者查询与他们无关的appid的购买细节是不安全的。
为项目制作临时设置,并确保使用与该公司关联的develeper证书对您的测试版本进行签名。进入iAP的appstore的沙箱界面必须在运行时验证这一点。
答案 1 :(得分:2)
你犯了一个非常常见的错误,我已经让自己在应用内购买。你采取了所有正确的步骤,但你错过了一步。您需要提交应用内购买。您可以通过单击iTunes Connect部分中的应用程序内购买来执行此操作,您可以通过转到管理应用程序 - >找到该部分。你的应用 - >管理应用内购买。在此详细视图中,单击右上角的“提交应用程序内购买”按钮。此按钮可能显示为灰色。如果是,您必须为您的应用上传二进制文件。如果你愿意,你可以马上拒绝。完成后,您可以返回详细视图并单击“提交”按钮。