I managed to get it to work, but it was painful. As it may help others:
-
I removed all class field declarations, as suggested by samme. According to some such declarations should be supported in Safari 14, which is what I’m running, but apparently such support is only partial.
-
the next obscure error was reported about a
null
on which a destroy was called deep inside phaser.js. Had to look up the stack trace line numbers on my desktop, as whenever I clicked on the error reported on the web inspector the session would apparently disconnect. I realized the error was when trying to destroy an audio object. Some googling took me to Audio works on web but not iOS. Addingaudio: { disableWebAudio: true },
to my game config, as suggested there, worked. The odd thing is that I did not see any error or warning on the console for the audio objects not being loaded. Go figure.