【发布时间】:2017-03-06 23:37:56
【问题描述】:
我正在我的 iOS 应用中实现 IAP,并且我正在使用最新版本的 SwiftyStoreKit 框架来帮助我进行购买。
我已完成所有前置任务,例如在 iTunes Connect 中设置开发者帐户、为应用程序生成配置文件、在 TestFlight 中进行新的消耗品和非消耗品购买、将这些购买添加到应用信息中(准备提交) 并创建一个沙盒用户。我已经按照this answer、this one 和this one 进行了调试。
现在,问题是每当我发送请求以检索有关产品的信息时,都会收到以下错误。
RetrieveResults(retrievedProducts: Set([]), invalidProductIDs: Set(["com.mycompany.app.consumable"]), error: nil)
当我尝试购买产品时,我收到此错误Purchase Failed: SKError(_nsError: Error Domain=SKErrorDomain Code=3 "Invalid product id: com.mycompany.app.consumable" UserInfo={NSLocalizedDescription=Invalid product id: com.mycompany.app.consumable})
恢复购买和验证收据似乎工作正常...
任何指针都会很有帮助。
谢谢。
更新:
我现在已经放弃了 SwiftyStoreKit 框架,并且正在使用 Apple 自己的 SKProductsRequest 使用方式,在那里我设置了委托函数和所有要求,然后我运行函数调用“SKProductsRequest.start()”,它仍然再次返回一组无效的产品 ID。
对于新方法,我设置了一个新项目,以及捆绑 ID 配置文件和 iTunes 连接应用程序。我也可以将应用程序上传到 iTunes Connect 进行测试!所以ID似乎是正确的。
【问题讨论】:
-
您的应用已经在 AppStore 中了吗?还是只是在开发中?
-
@LinShiwei 它目前正在开发中,尚未上架。
-
应用的bundle id和iTunesconnect里的一样吗?
-
@LinShiwei 是的。
-
您的代码和 iTunes 页面中的产品 ID 似乎不一样,或者您在应用商店中的产品 ID 不遵循 com.mycompany.app.consumable 模式
标签: ios swift3 in-app-purchase