是否有快速替代弃用`SKPaymentTransaction.transactionReceipt`?

Dmi*_*try 4 deprecated in-app-purchase ios ios7

是否有快速替代弃用SKPaymentTransaction.transactionReceipt?

完整代码:

// saves a record of the transaction by storing the receipt to disk
- (void)recordTransaction:(SKPaymentTransaction *)transaction {
    if ([transaction.payment.productIdentifier isEqualToString:[self getProductId:gFullVersion]]) {
        // save the transaction receipt to disk
        [[NSUserDefaults standardUserDefaults] setValue:transaction.transactionReceipt forKey:[self getProductId:gFullVersion]];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}
Run Code Online (Sandbox Code Playgroud)

Dmi*_*try 5

正确答案应该是:

[NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]]
Run Code Online (Sandbox Code Playgroud)

和完整的代码:

// saves a record of the transaction by storing the receipt to disk
- (void)recordTransaction:(SKPaymentTransaction *)transaction {
    if ([transaction.payment.productIdentifier isEqualToString:[self getProductId:gFullVersion]]) {
        // save the transaction receipt to disk
        [[NSUserDefaults standardUserDefaults] setValue:[NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]] forKey:[self getProductId:gFullVersion]];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 被否决,此代码片段不能完全替代检索与单个交易相关联的收据信息。 (2认同)