IOS6では、アプリでアプリ内購入を成功させていました。
IOS /とXcode 5 Betaをダウンロードして、同じプロジェクトを開こうとしました。
アプリストアから製品を取得するための私のコードは次のとおりです。
- (void)requestProductsWithIdentifiers:(NSSet*)identifiers
{
@synchronized(self)
{
DebugLog(@"requesting products with identifiers: %@", identifiers);
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers] ;
self.productsRequest.delegate = self;
[self.productsRequest start];
}
}
ただし、エラーが返されます。
[IAPHelper request:didFailWithError:](114): request did fail with error: <SKProductsRequest: 0xb846a10> / Error Domain=SSErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0xb846b10 {NSLocalizedDescription=Cannot connect to iTunes Store}
問題はどこにありますか?
Appleはアプリ内購入のテストをブロックしました...
ここにリリースノートへのリンクがあります https://developer.Apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//Apple_ref/doc/uid/TP40001051- CH1-SW578
参照:iOSシミュレーターセクション
StoreKit(アプリ内購入)はシミュレーターでは機能しません。 13962338
とても悲しい...
Xcode 5とiOS 7シミュレーターをインストールした後、最近同じ問題に遭遇しました。
以前はSKProductRequestsはシミュレーターで機能していましたが、現在はエラーコード2で失敗します(それらは引き続きデバイスで機能します)。
何が原因なのかはわかりませんが、私の解決策はiOS 6.1シミュレーターをダウンロードすることでした。 xcode Preferences-> Downloads-> Componentsを選択し、iOS 6.1シミュレーターを選択します。
その後、デバイスターゲットとしてiOS 6.1シミュレーターを選択し、シミュレーターからアプリを削除してから、コンパイルして再度実行する必要がありました。これで、SKProductRequestsは期待どおりに製品情報を返しました。
IOS 7シミュレーターに切り替えてみましたが、SKProductRequestsが再び失敗し始めました。
更新:シミュレーターでのアプリ内購入のテストは、Xcode 6ベータ版で動作するようです
ITunes&App Storeからサインアウトしていることを確認します(設定-> iTunes&App Store-> Apple ID->サインアウト)をタッチします)
開発ビルドは本番ストアではなくサンドボックスストアにアクセスするため、アプリに戻って再度購入し、テストユーザーアカウントでサインインします。
GM XCode 5のリリースでは、Arkadyが言ったように、シミュレータでアプリの購入をテストすることはできません。しかし、iOSを実行しているiPad 2でアプリ内購入をテストできました7.0.2(Tafkadasohが述べているように)iTunesとApp Storeからサインアウトし、XCodeからデバイス上でアプリケーションを実行します。アプリ内購入に着いたとき、Apple IDおよびテストユーザーアカウント情報(iTunes Connectで作成した)を入力すると、サンドボックスモードでアプリ内購入を正常に実行できました。
リリースノートには、アプリ内購入をブロックしているとは書かれていません。テキストには、「StoreKit(アプリ内購入)はシミュレータで機能しません。13962338」というバグがあります。おそらく13962338がバグ番号です。あなたが同意するかもしれない声明を出す政治家だったなら、あなたに気をつけてください:-)
PS彼らはiTunesの設定を削除しているので、アプリ内購入を行うのは少し難しいです。
PPSおそらく、すべてのファイルのバグレポートを開始する必要があります。