EAS build iOS: build uploads successfully to TestFlight, but crashes on startup


I am currently developing an Expo app which runs perfectly on both Android and iOS in expo locally (even with production mode on). I uploaded it to TestFlight today with no issues occurring with building it; however, when I load up the TestFlight app on iOS, it displays the splash screen and crashes instantly. The error logs are also hard to debug. Here is the relevant section of the log which says that Thread 0 crashed:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001c313b334 __pthread_kill + 8
1   libsystem_pthread.dylib       	0x00000001e0bc1a9c pthread_kill + 272 (pthread.c:1582)
2   libsystem_c.dylib             	0x000000019e2c2b84 abort + 124 (abort.c:118)
3   libsystem_c.dylib             	0x000000019e2c2004 __assert_rtn + 292 (assert.c:96)
4   CoreGraphics                  	0x00000001967c6868 CGTaggedColorGetNumberOfComponents + 120 (CGColorTaggedPointer.h:375)
5   CoreGraphics                  	0x00000001967c749c CGTaggedColorGetAlpha + 48 (CGColorTaggedPointer.h:462)
6   moodio                        	0x0000000100d09588 reduce + 28 (LinearGradientLayer.swift:53)
7   moodio                        	0x0000000100d09588 LinearGradientLayer.display() + 284 (LinearGradientLayer.swift:52)
8   moodio                        	0x0000000100d09a60 @objc LinearGradientLayer.display() + 28 (<compiler-generated>:0)
9   QuartzCore                    	0x00000001982c98a8 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 428 (CALayer.mm:2451)
10  QuartzCore                    	0x000000019820b5e4 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 500 (CAContextInternal.mm:2510)
11  QuartzCore                    	0x00000001982377f4 CA::Transaction::commit() + 684 (CATransactionInternal.mm:449)
12  QuartzCore                    	0x0000000198238b20 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 96 (CATransactionInternal.mm:932)
13  CoreFoundation                	0x0000000194e73c74 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 36 (CFRunLoop.c:1799)
14  CoreFoundation                	0x0000000194e6dd98 __CFRunLoopDoObservers + 572 (CFRunLoop.c:1912)
15  CoreFoundation                	0x0000000194e6e344 __CFRunLoopRun + 1052 (CFRunLoop.c:2953)
16  CoreFoundation                	0x0000000194e6d9f4 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3242)
17  GraphicsServices              	0x00000001ac543734 GSEventRunModal + 164 (GSEvent.c:2259)
18  UIKitCore                     	0x00000001978ec75c -[UIApplication _run] + 1072 (UIApplication.m:3269)
19  UIKitCore                     	0x00000001978f1fcc UIApplicationMain + 168 (UIApplication.m:4740)
20  moodio                        	0x0000000100cc2c88 main + 88 (main.m:7)
21  libdyld.dylib                 	0x0000000194b29cf8 start + 4

Anyone got a clue what could be causing this crash? Thank you :slight_smile:

Solved: for anyone who may face this issue or any other like it when publishing to TestFlight on iOS:

I am using the managed workflow. I was submitting my TestFlight builds using eas submit -p ios --auto-submit. When I checked the compiled app size on my iOS device, I saw that it was 16MB which definitely did not add up: I would expect it to be bigger. However, I learnt that using expo build:ios and submitting it as an app store submission compiled my app correctly from the Expo side. After running this command, I got an archive URL which I supplied to eas, using eas submit -p ios --url [artifact_url]. After submitting this way, the compiled app size was 60MB, which sounded much more accurate and my app functioned as expected on my device.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.