KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
We have an app with IAP coin purchases. We've recently received mails from a few of our users, saying that they couldn't purchase any coins. I looked at their session logs and saw Failed IAP events, each with no fail reason logged. Here's the related code: - (void)_purchaseRequestFailed:(SKPaymentTransaction *)transaction state:(StoreTransactionState)state error:(NSError *)error { IAPProduct *product = [self getProductWithId:transaction.payment.productIdentifier]; if (error.code==SKErrorPaymentCancelled) { [_metricsManager logFailIAP:product failReason:@"Payment canceled"]; } else { [_metricsManager logFailIAP:product failReason:error.localizedDescription]; } if ([_delegate respondsToSelector:@selector(didSucceedPurchasingProduct:)]) { [_delegate didFailPurchasingProduct:product]; } } inside logFailIAP, I log things like time, UDID, event name, and the error.localizedDescription. if (failReason != nil && failReason.length > 0) { [metricsDictionary setObject:failReason forKey:MetricsEventParameterFailReason]; } In the logs, I'm getting Failed IAP events, but no logged reason for failing. Is there any case where, you get "SKPaymentTransactionStateFailed", but, have an empty error.localizedDescription? I can confirm that the logs work, and have seen errors like "Payment canceled", and "Cannot connect to iTunes" being logged in other devices. The issue is not specific to a device or iOS.
Tags (comma-separated)
Save Edits
Cancel