2
我的工作在應用程序內購買驗證OSX上的應用程序,並得到一些問題〜服務器驗證在應用程序內購買收據OSX應用程序的
我的請求,這樣的代碼:
NSData* data = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString* base64Str = [data base64EncodedString];
NSDictionary* dict = [NSDictionary dictionaryWithObject:base64Str forKey:@"receipt-data"];
SBJSON *jsonParser = [[[SBJSON alloc] init] autorelease];
NSString* jsonStr = [jsonParser stringWithObject:dict error:nil];
postUrl = [NSURL URLWithString:@"https://sandbox.itunes.apple.com/verifyReceipt"];
_verifyRequest = [[NSMutableURLRequest alloc] init];
[_verifyRequest setTimeoutInterval:_sTimeoutInterval];
[_verifyRequest setURL:postUrl];
[_verifyRequest setHTTPBody:[jsonStr dataUsingEncoding:NSUTF8StringEncoding]];
[_verifyRequest setHTTPMethod:ASCommon_HttpMethodPost];
_verifyConnection = [[NSURLConnection alloc] initWithRequest:_verifyRequest delegate:self];
[_verifyConnection start];
我得到的結果類似這
{
exception = "java.lang.IllegalArgumentException";
status = 21002;
}
我日誌jsonStr變量似乎沒有問題:
{"receipt-data":"..........................................................."}
Apple doc here表示「檢索收據數據。 ......在OS X上,這是應用程序包內收據文件的全部內容。使用base64編碼編碼數據接收。」
難道我誤解了收據數據是整個的文件嗎?還是有毛病的內容與我的代碼?
您是否找到解決方案?我有同樣的問題。 – VBK
@VBK還沒有....我使用本地收據驗證只.... –