App Store でゲームをリリースしましたが、レシートの確認中に次のコードでいくつかのクラッシュが発生します。
-(BOOL)isTransactionAndItsReceiptValid:(SKPaymentTransaction *)transaction
{
if (!(transaction && transaction.transactionReceipt && [transaction.transactionReceipt length] > 0))
{
// Transaction is not valid.
return NO;
}
// Pull the purchase-info out of the transaction receipt, decode it, and save it for later so
// it can be cross checked with the verifyReceipt.
NSDictionary *receiptDict = [self dictionaryFromPlistData:transaction.transactionReceipt];
NSString *transactionPurchaseInfo = [receiptDict objectForKey:@"purchase-info"];
...
問題は、それが でreceiptDict
はないNSDictionary
ため、コードが途中でクラッシュすることです。どうすればいいの?取ることができる他の形式はありtransaction.transactionReceipt
ますか?エラー?
これは非常にまれなことですが、ユーザーの 1% が何かを購入しようとしますか? これは人々がハッキングした結果ですか?
であることを確認するためにチェックインしましたNSDictionary
が、より深い問題があるため、それを見つけたいと思います。