iOS/Swift:InAppPurchase invalidProductIdentifiers

Posted

技术标签:

【中文标题】iOS/Swift:InAppPurchase invalidProductIdentifiers【英文标题】:iOS/Swift: InAppPurchase invalidProductIdentifiers 【发布时间】:2015-11-26 17:37:41 【问题描述】:

我在 iTunes Connect 中创建了一个 IAP 产品。

它的状态是:准备提交

在应用程序 Delegate 上,我使用以下代码检索产品信息:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
     ...
     requestProductData()
     return true


func requestProductData() 
     if SKPaymentQueue.canMakePayments() 
          let request = SKProductsRequest(productIdentifiers: Set(["xxxx.xxxxx.xxxx"]))
          request.delegate = self
          request.start()
     


func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) 
     var products = response.products
     print("products:",products.count)
     for product in response.invalidProductIdentifiers 
          print("Product not found: \(product)")
     

我总是得到:“找不到产品:xxxx.xxxxx.xxxx”

我已验证产品 ID 已正确写入。

我使用的是物理设备,而不是模拟器。

物理设备上登录的 AppleID 已正确添加到测试人员沙箱列表中。

到目前为止,我的应用只提交给了 TestFlight(没有应用内购买),还提交给了 Appstore。

更新:

我的付费应用程序合同状态显示:处理中

这可能是原因吗?

【问题讨论】:

【参考方案1】:

是的,如果没有与 Apple 签订的有效付费应用程序合同,则无法进行测试 - 您需要提供您的联系信息、银行信息和税务信息。

【讨论】:

【参考方案2】:

您的问题得到解决了吗? Apple Developer 告诉我,有一个与同意……税收……银行相关的全球(全球)问题,这也阻止了 IAP 的工作。自 11 月 24 日左右以来,它一直困扰着他们。截至 2015 年 12 月 2 日,仍未修复。

【讨论】:

是的,似乎有一个全球性的问题,今天已经解决了,至少对我来说是这样。如果您仍然遇到问题,建议您联系他们手动解决您的问题。 嗨@DanieleB,是的,他们在您解决问题的同一天解决了我的问题 - 12 月 3 日。让它再次工作真是一种解脱;一位 Apple 代表打电话通知我问题已解决 - 我认为他们的客户服务很棒。 苹果开发者的客户服务绝对很棒,毫无疑问!

以上是关于iOS/Swift:InAppPurchase invalidProductIdentifiers的主要内容,如果未能解决你的问题,请参考以下文章

如何在 inAppPurchase 中获取交易 ID

不再能够在 InAppPurchase Flutter 中访问 queryPastPurchases

没有一个有效的配置文件允许指定的功能:功能:inAppPurchase

iOS - Swift Enumerations or how to annoy Tom

在 ios 中为沙盒测试配置 InAppPurchase

InAppPurchase 插件无法从 Objective-C 执行 JS 回调