Of course, the downside to this hack is that it uses the default settings in the simulator, instead of the simulator’s settings, but you can temporarily change them in code if you need to test other values.
I ran into this too, and it’s unfortunate that the plugin doesn’t handle it gracefully. What I did was make my own define for IOS_BUILD at the top of PreciseLocale.cs
#if UNITY_IOS && !IOS_SIMULATOR // The iOS plugin for this crashes in the simulator, so don't use it if in simulator mode.
Then in the rest of the code, replace UNITY_IPHONE with IOS_BUILD (UNITY_IPHONE is considered obsolete anyway, so the author should change it).
Then, when you want to build for the simulator, you have to add IOS_SIMULATOR to the Scripting Define Symbols under “Other Settings” on the build settings (a little bit under where you have to choose “Simulator SDK” for Target SDK).
This reply was modified 3 years, 11 months ago by Gillissie.
I just discovered the same issue. When running on iOS in Japanese language, it’s returning “en” for the language. I haven’t tried Japanese on Android yet. Also, I updated to the latest asset store version right before I posted this, just to be sure.