0

Apple のサンドボックス サーバーで更新不可のサブスクリプションを確認しようとしていますが、何度も戻ってきますverify response: { "status":21002 }。これは、リクエストの形式が正しくないことを意味します。私が使用している関連コードは次のとおりです。

    NSString *receiptString = [[NSString alloc] initWithData:transactionReceipt
                                                    encoding:NSUTF8StringEncoding];
    NSString *encodedString = [receiptString base64Encoding];
    NSString *jsonString = [NSString stringWithFormat:@"{ 'receipt-data' : '%@' }", encodedString];

    NSURL *verificationURL = [NSURL URLWithString:@"https://sandbox.itunes.apple.com/verifyReceipt"];
    __block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:verificationURL];
    [request appendPostData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
    [request setRequestMethod:@"POST"];
    [request setCompletionBlock:^{
        NSString *responseString = [request responseString];
        NSLog(@"verify response: %@", responseString);
    }];
    [request setFailedBlock:^{
        NSError *error = [request error];
        NSLog(@"verify error: %@", [error description]);
    }];
    [request startAsynchronous];

どうやら問題は、ASIHTTPRequest ライブラリを介して Apple にデータを送信する方法です。これに関する洞察は大歓迎です。前もって感謝します!

4

1 に答える 1

1

別のコードを使用してみてください。例、

IAP_Validation

于 2013-01-30T05:11:13.373 に答える