iOS / Swift:InAppPurchase invalidProductIdentifiers

时间:2015-11-26 17:37:41

标签: ios swift in-app-purchase itunesconnect appstore-sandbox

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

其状态为:准备提交

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

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。

更新

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

这可能是原因吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您的问题是否得到解决? Apple Developer's告诉我,有一个全球(全球)问题与同意......税务......银行业有关,这也阻碍了IAP的运作。自11月24日左右以来一直困扰着他们。截至12月2日(2015年),仍然没有修复。