我是ios开发的新手。我在我的应用程序中添加了一个应用程序内购买,并且我成功地从appstore获取了产品数据。 iap是一个消耗品。当我调用“addPayment:”方法时,我得到“确认你的应用内购买... [环境:沙盒]”问题。我单击是,然后我收到一条消息说: “你已经购买了它,但它还没有被下载。点击OK即可立即下载。[环境:沙盒]”。如果有人有任何想法错误会非常感激吗?
答案 0 :(得分:0)
当用户对他们已购买的商品进行购买时会发生这种情况。鉴于您正在使用耗材,您需要确保在向用户提供他们购买的产品时向Apple购买服务器发送消耗/配置请求。
答案 1 :(得分:0)
我处于类似情况;通过重新启动我的iPhone来解决(按住主页/电源按钮,直到出现白色苹果标志在黑色背景上)。
具体来说,我在Apple的服务器上托管了非消费品。已安装的应用程序到iphone5,购买。删除应用程序,重新安装在另一个版本中,并在restorePreviouslyPurchasedTransactions,ITunesStore服务器没有响应我的托管联系productIdentifier。 (虽然它确实响应并恢复了一些非托管的其他测试购买)。再次购买托管内容项会产生错误“您已经购买了此应用程序内购买,但尚未下载。”;警报没有下载选项。我找到了这个网站http://support.nimblebit.com/customer/portal/articles/672080-problem-making-in-app-purchase-ios-os-x;重新启动我的设备,恢复现在可以识别以前的购买。
我不知道究竟是什么触发了这个问题,但请注意,我已经对下载此托管内容项进行了大量测试,调试并在下载完成之前结束程序。在启动时,我已经准备好代码来发现未完成的事务并完成它们。所以最终调用了FinishTransaction。在此错误发生时,paymentQueue中没有未完成的交易。我唯一的猜测是,在下载过程中的某个时刻突然杀死一个应用程序会在设备上保留一个标记,该项目正在下载,因此无法恢复,如果是这种情况,幸运的是重启后重置设备
答案 2 :(得分:0)
您上传了内容吗?
此应用内购买目前无法在沙盒环境中进行测试,因为您选择使用Apple托管您的内容,但尚未提供您的内容。上传您的内容以在沙盒中测试此应用内购买。