IAP購入テストで1つの大きな問題があります。
私が行った次のステップがあります:
- アプリIDを作成します(com.domainname.appname)
- アプリID( com.domainname.appname)を使用して開発プロビジョニングプロファイルを作成する
- iTunes Connectでアプリを作成します(バンドルID com.domainname.appname)
- IAPを管理します。製品IDcom.testitem1、com.testitem2、com.testitem3で非消耗品を作成します(各製品には送信準備完了ステータスがあります)
XCodeプロジェクト設定を構成する
バンドル識別子:com.domainname.appname
コード署名ID:ステップ2で作成した開発プロビジョニングプロファイル
展開目標:4.0
端末
iPod Touch 4gen iOS 5.1.1
ソースコードを書く
私のクラスのサポートSKProductsRequestDelegate
- viewDidLoad
コールバックメソッドで私はこれらの行を書きました:
if ([SKPaymentQueue canMakePayments])
{
NSLog(@"YES, I CAN MAKE PAYMENTS");
}
else
{
NSLog(@"NO, I CAN NOT MAKE PAYMENTS");
}
この段階では、すべてが大丈夫です。お支払いができます。
次に、自分の製品のリクエストを作成しようとしています。
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects:@"com.testitem1", @"com.testitem2", @"com.testitem3", nil]];
request.delegate = self;
[request start];
この段階ではすべて問題なく、次の段階ではリクエストオブジェクトが以下のコールバックメソッドを呼び出します。
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *myProduct = response.products;
NSLog(@"%@", myProduct);
}
ただ、対応している商品がなく、その理由がわかりません。
私は以前にすでにこの問題を抱えています(デバイスをリセットしただけですべてが正常に機能しました)が、この場合、何が問題なのか理解できません。