これは私を夢中にさせています。
アプリ内購入を使用するアプリをデバッグしようとしています。
次の簡単なコードを使用して製品を取得します(製品は1つだけです)。
NSSet *productIdentifiers = [NSSet setWithObject:PRODUCT_ID];
SKProductsRequest *request = [[[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers] autorelease];
request.delegate = self;
[request start];
response.products
iOS5以降を実行しているデバイスでは、製品をのプロパティに戻します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/のすべてをチェックして試しましたが、役に立ちませんでした。
何か案は?このような状況でアプリを提出しても安全だと思いますか?