收据验证iOS 7

时间:2014-03-18 11:47:16

标签: ios objective-c ios7 in-app-purchase receipt-validation

我跟着this tutorial,一切正常。但Xcode告诉我transactionReceipt已被弃用。

现在看谷歌,我看到你可以用这种方法改变:

[NSData dataWithContentOfURL:[[NSBundle MainBundle] appStoreReceiptURL]];

但是,如果我以这种方式进行此更改:

/*    NSString *jsonObjectString = [self encodeBase64:(uint8_t *)transaction.transactionReceipt.bytes
                                         length:transaction.transactionReceipt.length]; 
*/

NSData *data = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString *jsonObjectString = [data base64EncodedString];

// Create the POST request payload.
NSString *payload = [NSString stringWithFormat:@"{\"receipt-data\" : \"%@\", \"password\" : \"%@\"}",
                     jsonObjectString, ITC_CONTENT_PROVIDER_SHARED_SECRET];

NSData *payloadData = [payload dataUsingEncoding:NSUTF8StringEncoding];

验证始终失败。相反,如果我离开transactionReceipt,一切正常。

有什么问题?

注意:在使用iOS 7.1的iPhone 4上测试。

0 个答案:

没有答案