App doesn't start on Russian devices

I have quite a few localizations in my app and the Russian one is causing me some troubles: some users report that when they start the app, it never moves past the loading screen. I tried to reproduce it in the Simulator with Russian language and region settings but I can’t, the app loads as expected.

Are there any similar experiences here? Maybe there is one more setting in the Simulator I’m forgetting about.

typical - Russian characters in home directory path…?

i don’t know if it is a case on iOS…

1 Like

Took me some time but I figured out what the problem was. I tried to do this (it’s still in API 1.0):
player(i).datBirthday = date.fromText("1984-04-01")

This won’t work with the time zone set to Russia because in Russia, April 1st 1984 00:00 does not exist.

When I do this instead, it works (also in Russian timezone which seems strange but it does):
var d as new,4,1, xojo.core.timezone.current)
player(i).datBirthday = d

1 Like

I’m curious. Did your app crash or was it simply an uncaught exception?

It’s a runtime exception:

Parse error: date needs to be in the format of YYYY-MM-DD HH:MM or YYYY-MM-DD

It didn’t move past the loading screen on my app because my App.UnhandledException tried to load that same view/screen. So it got stuck in an infinite loop.

You can download a sample project with API 2.0 here. It’s the same as in API 1.0 but with DateTime instead of Xojo.Core.Date. You need to change the time zone settings on your macOS to some city in Russia (there is no such setting in the iOS simulator) before running it in the simulator.

Well if it’s an exception, you can do something about it.