1

サードパーティのサーバーを使用せずに、Appleサーバーに直接接続しているStoreKitレシートを検証するライブラリを作成しようとしています。これが可能なのは、Appleが最初に本番サーバーhttp://buy.itunes.apple.com/verifyReceiptに対して検証することを推奨しており、コード21007で失敗した場合は、サンドボックスサーバーhttps://sandbox.itunes.apple.com/を試してください。 verifyReceipt

しかし、「サーバーに接続できませんでした」というエラーが表示されたままになります。本番サーバーの場合、または「ネットワーク接続が失われました」。サンドボックスサーバーから。

Hurl.itを使用して同じ正確な投稿データをいずれかのURLに送信すると、正しい応答が得られます。

私は何か間違ったことをしているのですか、それともこれは単にAppleによってブロックされて、レシートを確認するために仲介サーバーを使用するように強制されていますか?もしそうなら、なぜですか?

ありがとう

Maciej

4

2 に答える 2

1

これらの2行を忘れました。すべてが現在機能しています。

[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:[NSString stringWithFormat:@"%d", [[jsonString dataUsingEncoding:NSUTF8StringEncoding] length]] forHTTPHeaderField:@"Content-Length"];
于 2012-07-14T12:43:32.903 に答える
1

シミュレーターで同様の問題をテストしましたが、これであることがわかりました。NSURLConnection GETリクエストは-1005、「ネットワーク接続が失われました」を返します

私のMacには、シミュレーターにはないインターネット接続が機能していました。シミュレータを再起動すると、問題が修正されました。

于 2015-01-08T01:29:40.413 に答える