I have created a Xamarin Forms App using Visual Studio 2019 on Windows 10, I connect to a remote Mac Mini when I want to build for iOS. I submit to the Apple App Store by creating an Archive within Visual Studio, then using remote desktop I open Xcode on the Mac Mini and then Window => Organizer I can select the Archive and click Distribute App which uploads it to the App Store.
Now however Apple are rejecting my App saying that it crashes on launch. This only started a few days ago, I have Xamarin Forms 4.7.0.1239 installed and the Mac mini has XCode 11.6. I assume this is automatically used to build.
I have a crash log from Apple, the start of the crash log is as follows:
Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Region Info: 0 is not in any region. Bytes before following region: 4340170752
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 0000000102b1c000-0000000102fc8000 [ 4784K] r-x/r-x SM=COW ...tlessMenu.iOS
Triggered by Thread: 0
Thread 0 name: tid_407 Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001999fadf0 0x1999d4000 + 159216
1 libsystem_pthread.dylib 0x000000019991a948 0x199918000 + 10568
2 libsystem_c.dylib 0x00000001998a9c24 0x199834000 + 482340
3 libsystem_c.dylib 0x00000001998a9bb0 0x199834000 + 482224
4 ContactlessMenu.iOS 0x00000001048d9098 0x102b1c000 + 31183000
I don't understand this. Using 'iOS Crash Log Tool' I searched the folders on my Windows 10 machine and it gave me the following output:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001999fadf0 0x1999d4000 + 159216
1 libsystem_pthread.dylib 0x000000019991a948 0x199918000 + 10568
2 libsystem_c.dylib 0x00000001998a9c24 0x199834000 + 482340
3 libsystem_c.dylib 0x00000001998a9bb0 0x199834000 + 482224
4 ContactlessMenu.iOS 0x00000001021a3d08 _xamarin_release_block_on_main_thread
5 ContactlessMenu.iOS 0x0000000102198f44 _xamarin_get_block_descriptor
6 ContactlessMenu.iOS 0x000000010205e950 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
7 ContactlessMenu.iOS 0x0000000101ff3988 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
8 ContactlessMenu.iOS 0x0000000101ff2370 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
9 ContactlessMenu.iOS 0x0000000101fe8150 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
10 ContactlessMenu.iOS 0x0000000100c4b7cc GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
11 ContactlessMenu.iOS 0x0000000100a0084c GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
12 ContactlessMenu.iOS 0x0000000100a06754 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
13 ContactlessMenu.iOS 0x0000000100d3d40c GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
14 ContactlessMenu.iOS 0x0000000100c0d4a0 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
15 ContactlessMenu.iOS 0x0000000102005588 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
16 ContactlessMenu.iOS 0x00000001020c0a64 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
Xcode does not show me crash logs for this version and when I click download debug symbols it says no dSYMs were found.
I have found a Crash Log in XCode for an earlier version which seems to report the same thing. I realise this is a different version but it is very similar:
2 libsystem_c.dylib __abort
3 libsystem_c.dylib abort
4 ContactlessMenu.iOS xamarin_release_block_on_main_thread
5 ContactlessMenu.iOS _xamarin_get_block_descriptor
6 GMSx_absl::base_internal::AtomicHook<void (*)(char const*, int, char const*, char const*, char const*)>::DummyFunction(char const*, int, char const*, char const*, char const*)
Does this mean libsystem_c.dylib sent an Abort signal?
I think all the line with GMSx possibly refer to Google Maps.
I don't know how to collect the required files to create a proper symbolised crash log. I don't know the location of the files and if they are on the Windows computer or the Mac Mini?
If anyone has any pointers I would be very grateful.