IAPを結びつけようとしています。アプリはテスト飛行中です。バンドルIDとappIDは正しいです。SKProductsResponseは無効なプロダクトIDの返品のみを返します
func requestProductData(productIdentifier: String) {
let pIDS = Set([productIdentifier])
if SKPaymentQueue.canMakePayments() {
let request = SKProductsRequest(productIdentifiers: pIDS)
request.delegate = self
print("yes") // make sure we can pay
request.start()
} else {
let alert = UIAlertController(title: "In-App Purchases Not Enabled", message: "Please enable In App Purchase in Settings", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Settings", style: UIAlertActionStyle.Default, handler: { alertAction in
alert.dismissViewControllerAnimated(true, completion: nil)
let url: NSURL? = NSURL(string: UIApplicationOpenSettingsURLString)
if url != nil {
UIApplication.sharedApplication().openURL(url!)
}
}))
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: { alertAction in
alert.dismissViewControllerAnimated(true, completion: nil)
}))
self.viewController!.presentViewController(alert, animated: true, completion: nil)
}
}
func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
print("these are the response products: \(response.products)")
print(response.invalidProductIdentifiers)
print("received response")
}
私はiTunesから直接コピーされたプロダクトIDを渡しています。エンタイトルメントは正しいです。 SKPaymentQueue.canMakePayments()
が真実に戻りますが、テストデバイスの店舗からログアウトしてもサンドボックスIDを要求しません。
私はデバイスとシミュレータで同じ結果をテストしています。どんな助けも非常に高く評価されます!
現在のところ、これはiTunesでのアプリ内購入の外観です。私はレビューのために新しいバージョンを提出することができますが、このアプリケーションはApp Storeにまだありませんので、Test Flightでのみ正しいとは思われません。
初めてのアプリ内購入は、新しいアプリバージョンで提出する必要があります。 アプリの[アプリ内購入]セクションから選択し、[送信]をクリックします。
^命令ブロック全体が完全に混乱しています。私はすでにIn-App Purchaseセクションに入っていて、送信ボタンはありません。新しいバージョンをアップロードしましたが、まだ送信ボタンはありません。