このチュートリアルに従ったところ、すべてうまくいきました。しかし、XcodetransactionReceipt
は非推奨であることを示しています。
Google で調べてみると、次の方法で変更できることがわかりました。
[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 でテスト済み。