You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue description:
Deploying a Mono C# project on iOS with 3.2.2 works fine in the simulator, fails on real device deploy when you "Archive" the project and deploy on physical iOS device via Ad hoc distribution of an .ipa file. The application display the loading image, then crashes immediately with this unhandled exception of an apparent linking error:
May 17 14:02:26 Davids-iPhone DodgetheCreeps[22461] <Notice>:
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Random' threw an exception. ---> System.EntryPointNotFoundException: SystemNative_GetNonCryptographicallySecureRandomBytes
at Interop.GetRandomBytes (System.Byte* buffer, System.Int32 length) [0x00000] in <e8ca3a82b1c44b21ba65f40b11f07643>:0
at System.Random.GenerateGlobalSeed () [0x00000] in <e8ca3a82b1c44b21ba65f40b11f07643>:0
at System.Random..cctor () [0x00000] in <e8ca3a82b1c44b21ba65f40b11f07643>:0
--- End of inner exception stack trace ---
at Main..ctor () [0x00000] in <928693da75cb4a549db27400f3bb9797>:0
This is reproducible on my personal Godot project, as well as the public sample of "Dodge the Creeps".
Using the "Dodge The Creeps" Mono demo project, Export for iOS. Fill in Apple Team ID, identifier, 120x120 icon, etc.
Open the exported project in XCode. Optionally run in simulator to assert that it works there. Change device to Build Only Device of DodgeTheCreeps > Generic iOS Device, select Build > Archive, like his:
Press "Distribute App" then "Ad hoc distribution"
Make sure you authenticate to Apple in XCode and have added your device udid in apple developer settings
Finish off the distribution process to get your outputed DodgeTheCreeps.ipa file. Deploy to your physical iOS device
I did this with libimobiledevice software by running ideviceinstaller -i /path/to/DodgeTheCreeps.ipa
After the app installs on your physical iOS device, open the app. You should see the loading screen, then an immediate crash.
So its documented, Random is used by ThreadPool.QueueSegment internally, and so you can end up running into this when using Tasks (e.g. Task.Delay will throw this exception for me).
Godot version:
3.2.2-beta2-mono
OS/device including version:
OSX 10.15.4
XCode 11.4.1
iPhone 8, iOS 13.4.1
Issue description:
Deploying a Mono C# project on iOS with 3.2.2 works fine in the simulator, fails on real device deploy when you "Archive" the project and deploy on physical iOS device via Ad hoc distribution of an
.ipa
file. The application display the loading image, then crashes immediately with this unhandled exception of an apparent linking error:This is reproducible on my personal Godot project, as well as the public sample of "Dodge the Creeps".
Relevant logs:
Archive Build Log
idevicesyslog output during crash (I build in cloud and deploy local, so unfortunately no access to USB debugging in xCode...)
Steps to reproduce:
DodgeTheCreeps > Generic iOS Device
, selectBuild > Archive
, like his:DodgeTheCreeps.ipa
file. Deploy to your physical iOS deviceideviceinstaller -i /path/to/DodgeTheCreeps.ipa
idevicesyslog
Minimal reproduction project:
https://github.com/godotengine/godot-demo-projects/tree/master/mono/dodge_the_creeps with the above steps
The text was updated successfully, but these errors were encountered: