• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Mac OSX MacOS problems with new 2.2.4 IAPs?


Everything seems to work well in my testing on 10.14 and 10.15. But I have 1 confirmed user that is on 10.13.6 (High Sierra) and cannot open our games (3 of them all exhibit the same behavior).

Crashed Thread: 4 Dispatch queue: SKProductsRequest reply queue
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SKProduct
downloadContentVersion]: unrecognized selector sent to instance 0x60c00000adb0'
abort() called
terminating with uncaught exception of type NSException
SKProduct is IAP related. The user said that it occurs 1 second or so after the title screen appears, so that seems consistent with the SKProductsRequest being made from the MacIAP Extension. I tried creating a VM with High Sierra but got as far as Mavericks (10.9) and tried it and end up with another crash altogether on a blank GM Project... so I think maybe the Virtual OS (it's a VM on a Mac) is not reliable for testing.

EDIT : Ok, @chirpy has dug up what looks to be the issue. I've confirmed it as well by removing the mac_iap_QueryProducts() call in the app and having that user retest on 10.13.6 and it runs without that call - but crashes with it.

Ticket open - and all logged.

EDIT : I was able to modify the existing Mac IAP extension to fix the crashing on High Sierra. This .dylib still requires proper signing, so you'll need to use a repackaging tool like App Wrapper. Here's the fixed .dylib if anyone else is having this issue.
Last edited:


@chirpy thank you for digging this up! Confirms what I found out through iteration testing on MacOS 10.13.6 and narrowing it down to the mac_iap_QueryProducts() call which uses downloadContentVersion.

I'll update the ticket with your information.

How would I go about modifying the extension? It's a .dylib file. Is there some way to?



Uh, if it's a .dylib I don't know. I have no experience building for macOS; I thought it'd be like iOS where there are some .mm files in the extension/iOSSource folder to modify.