Let me explain.
Starting 1.2.180 Defold supports only opengl 3. That means that with new Defold minimal required version in UIRequiredDeviceCapabilities
is opengl-3.
The first chip that supports opengl 3 is Apple A7.
At the same time Apple requires to support all the devices you supported on release. So you can’t just cut off some older devices using UIRequiredDeviceCapabilities
. It is possible using only minimum required OS version.
I released my game using Defold 1.2.180 the same way as you are by changing UIRequiredDeviceCapabilities
from opengl-3 to opengl-2.
Which means that Apple doesn’t know that my games doesn’t support opengl-2
anymore and deliver the game to pre-A7 devices. On such devices game just stuck right after Launch screen and then crashes in a while with:
FATAL:ENGINE: Could not open window (-2).
FATAL:ENGINE: Could not open window (-2).
It’s not so big percentage of devices but there are not so many new games that support such devices in AppStore. Which means people with such devices will install your game a bit more often and the crash. In one of my games I got 34 crashes like this (the game was featured in the App Store for some regions after update), in the second small game just 3.
The full list of devices you may find here (All chips before A7) https://en.wikipedia.org/wiki/Apple-designed_processors#Apple_A6X
I see 3 possible solutions here (maybe there are more solutions exist but I don’t know about them):
- Keep everething as is. Release updates using opengl-2, game will crash on some old devices but other than that it will work just fine. New games will never have such problems just because they will support opengl-3 from scratch.
- As I know the latest version of iOS these old devices support is 10.3.3. So, changing minimum iOS version to 11.0 should help as well.
- Ask Defold team to return real support OpenGl es 2.0 as fallback.
I hope now it’s a bit more clear what is going on here.