iOS/Swift:InAppPurchase 无效的产品标识符

iOS/Swift: InAppPurchase invalidProductIdentifiers

我已经在 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)")
     }
}

我总是得到:"Product not found: xxxx.xxxxx.xxxx"

我确认产品ID写对了。

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

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

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

更新:

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

这可能是原因吗?

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

你的问题解决了吗? Apple Developer 告诉我,存在一个与 Agree…Tax…Banking 相关的全球(全球)问题,这也阻止了 IAP 的工作。从11月24日左右开始就一直困扰着他们。截至12月2日(2015年),仍未修复。