iOS 14.2 applications developed using Xamarin are crashing in arm64e CPU devices. These Xamarin apps are deployed using a Mobile Device Management tool(Airwatch or Microsoft Intune). However, the same iOS apps work fine in iOS 14.2 when it is installed via the App Store.
We have seen this issue in Xamarin iOS apps like-
Microsoft Azure
Microsoft Seeing AI, etc.
Steps to reproduce, Configure an MDM tool
Deploy a Xamarin based iOS app to arm64e device (like iPhone 11)
Launch the app after installation
Expected result:
The app should launch and work as expected
Actual result:
The app crashes after 20 seconds with the following error -
Exception Type: EXCBADACCESS (SIGKILL)
Exception Subtype: UNKNOWN0x32 at 0x0000000106464018
VM Region Info: 0x106464018 is in 0x106464000-0x106468000; bytes after start: 24 bytes before end: 16359
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
VMALLOCATE 106460000-106464000 [ 16K] rw-/rwx SM=PRV --> mapped file 106464000-106468000 [ 16K] r-x/r-x SM=COW ...tid=969d6cc3
VMALLOCATE 106468000-1064e8000 [ 512K] rw-/rwx SM=PRV
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, <RBSTerminateContext| domain:10 code:0x8BADF00D explanation:process-launch watchdog transgression: application<com.microsoft.azure>:1696 exhausted real (wall clock) time allowance of 20.00 seconds | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: process-launch | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 24.050 (user 24.050, system 0.000), 20% CPU", | "Elapsed application CPU time (seconds): 20.001, 17% CPU" | ) reportType:CrashLog maxTerminationResistance:Interactive>
Triggered by Thread: 0
Thread 0 name: tid_407 Dispatch queue: com.apple.main-thread