Since iOS 13.4, the dialog for in-app purchases does not show up when the line...
[[SKPaymentQueue defaultQueue] addPayment:payment];
...is executed.
Pre iOS 13.4 a dialog popup showed up where the user confirmed the purchase, but now nothing. Does anyone know what might be causing this issue?
Notes:
You can check if the in-app purchases are enabled on your device by opening your device's settings by following these steps: Open the Settings app on your iPhone or iPad. Go to Screen Time Screen Time> Content & Privacy Restrictions > iTunes & App Store Purchases > In-app Purchases. Select "Allow"
If you experience trouble making a purchase, follow the steps below: Make sure in-app purchase options are set correctly on your device. Play Store > Payment Methods. Close the game from the background and restart it.
Apple released iOS 13.1.3 and iPadOS 13.1.3 with additional bug fixes and performance improvements for all devices to address issues in the Mail app, Bluetooth connectivity, and launch performance for Game Center apps. Most of the dot upgrades are maintenance updates designed to squish bugs, not to add any new features.
While there’s no specific fix for what ails iOS 13.6, you can boost performance by doing the following to enhance battery life and prevent app problems: Open Settings. Navigate to the General section.
A few iPhone owners reported problems with charging after upgrading to iOS 13.6.1 while Bluetooth and Wi-Fi performance issues, particularly for CarPlay, got fixed. Unlike previous updates, iOS 13.6 actually introduced new features, along with fixes for some of the known problems reported in the previous versions.
Connectivity issues — both with Wi-Fi and mobile data — still exist for some users on iOS 13.6 with no specific solutions suggested. A few users reported problems with Face ID on this update, specifically that they can’t unlock their phones while wearing a face mask.
try to totally "flush" the queue once:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
//debug - finish all transactions to make queue empty
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
/*
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
//your code
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
//your code
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
}
*/
}
}
then after replace it back by your code and try to make purchase.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With