Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The purchase dialog does not show up since iOS 13.4

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:

  • It's a fullscreen game based upon libSDL and gles 3.0.
  • While 99% of the code base is C++, the in app purchases is made in Objective C++
  • It worked before iOS 13.4
like image 496
Viktor Sehr Avatar asked Mar 28 '20 22:03

Viktor Sehr


People also ask

How do I fix in-app purchase not allowed in iOS?

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"

Why can't I enable in-app purchases?

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.

What's new in iOS 13 1 3?

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.

How to fix iOS 13 6 performance issues?

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.

Is there a problem with my iPhone 13 6?

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.

Are there any connectivity issues with the iOS 13 update?

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.


1 Answers

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.

like image 102
Gabiden Avatar answered Oct 22 '22 13:10

Gabiden