UPDATE
I thought I’d let let you know what our current status is.
It’s a bit technical and it’s mainly a heads up for the extension developers
Basically, the iOS 13 release threw us a curveball, and introduced issues we didn’t have or had avoided in the past.
We couldn’t find an easy way around the issues, but we had to rewrite the app code for iOS. This took a little while, and we thought it went well. And it mostly did. So we planned for the release again.
Then later on, just before release, we noticed another issue. This was of course related to the aforementioned rewrite, and that should have been more obvious, but I missed it.
The new issue stems from the fact that previously the app was bootstrapped in a peculiar way, in order to get a hold of the main event loop. The app would then pump the messages from the main thread.
Now, with the rewrite, the app works as a more normal app, letting the app itself pump the messages, but that also means (as with many UI applications on many OS’es) that the OS callbacks come from a different thread. And the Lua context isn’t thread safe.
We already have that type of setup with Android, and you might have noticed something like a “command queue” in the extensions. That’s the solution.
I.e. when given a callback, store the info for later, then do the callbacks to Lua on the main thread, in the Update function of the extension.
We’re currently in the middle of updating our extensions to be thread safe, and in the mean time adding these recurring helper functions/structs to the DefoldSDK so that you can use the same mechanics later on.
So, no release this week either, but it’s now scheduled for next week.
Again, sorry for the delay, and thanks for your patience.