我按照本教程进行操作,一切正常。但是 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 上测试。