我们现在被困了几个星期。
当我们尝试在App Store中为IAP测试pay()(使用cordova的inapppurchase插件)时,我们一直收到以下错误:
RMStore:未知产品ID com.company.appname.myID
我们尝试过每一种方式让它无效。在使用Apple 无用支持进行多次调用后,他们只是继续回复此问题(当我们尝试提交应用时):
具有讽刺意味的是,IAP已经准备好了#34;并且支持表示,对于沙盒测试,IAP购买的状态无关紧要。我们发现您的应用内购买产品展示了一个或多个 在运行iOS 10.1.1的iPad和运行iOS的iPhone上查看错误 10.1.1。
IAP无效
它在Play商店中完美运作。
更新(尚未修复): Apple Developer Forums
更新2:可能与此相关:RMStore: invalid product with id myID #181
更新3 - 来自Apple支持:
Nov 22 19:29:57 iPhone itunesstored(iTunesStore)[102]:ISStoreURLOperation:针对网址发送POST请求,服务类型为:0 https://sandbox.itunes.apple.com/WebObjects/MZFinance.woa/wa/inAppCheckDownloadQueue
此日志语句告诉我代码正在调用addTransactionObserver方法。
就像你一样,我已经确认日志中没有fetchSfotwareAddOns调用。
所以在这一点上,问题 - 为什么呼叫没有发生。您的代码是否进行SKProductsRequest调用,或者这应该发生在RMStore框架中。我怀疑必须在框架中进行调用。你有框架的来源 - 如果有的话,是什么触发了日志声明
如果您没有这些来源,我认为您的下一步是联系RMStore开发团队寻求解释。
答案 0 :(得分:2)
我已经解决了这个问题,这不是RMStore的问题。我向RMStore.m添加了额外的日志记录,并意识到产品列表是空的,所以与产品标识符无关。
您需要在iTunes Connect中拥有“付费应用”合同才能显示您的付费产品。要执行此操作,请转到iTunes Connect主页,然后选择“协议,税务和银行业务”。填写您的联系人,银行和税务信息。提交表格并等待15分钟以便处理合同。
测试的一个好方法是添加免费的耗材产品,这不需要“付费应用”合同。