これは私を夢中にさせています。
アプリ内購入を使用するアプリをデバッグしようとしています。
次の簡単なコードを使用して製品を取得します(製品は1つだけです)。
NSSet *productIdentifiers = [NSSet setWithObject:PRODUCT_ID];
SKProductsRequest *request = [[[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers] autorelease];
request.delegate = self;
[request start];
response.productsiOS5以降を実行しているデバイスでは、製品をのプロパティに戻しますproductsRequest:didReceiveResponse:。これらのデバイスで(テストユーザーを使用して)注文することもできます。
iOS 4.01を実行しているデバイスで、に空の配列を取得し、response.productsに製品IDを取得しresponse.invalidProductIdentifiersます。addPayment:製品情報を無視して、同じ製品IDを使用してこのデバイスに電話をかけようとすると、 SKPaymentTransactionStateFailedになりpaymentQueue:updatedTransactions:ます。
iOS5 +デバイスでは問題なく動作するため、明らかに私の設定は正しいです。
また、 http://troybrant.net/blog/2010/01/invalid-product-ids/のすべてをチェックして試しましたが、役に立ちませんでした。
何か案は?このような状況でアプリを提出しても安全だと思いますか?