iOS iPnone App Crashes on Load

I have an iOS app that is crashing when tested via TestFlight on my iPhone , iPad and Macbook Pro M2.

This app runs with zero issues on the iPone simulators and on my iPone (debug via Xojo).

I have a iPad version of this app that does not have this issue. The iPone version uses the same code as the iPad version, but reformatted to fit the display sizes.

There is no error messages on the iPhone/iPad except the Crash Popup which does not allow to see the crash report.

The crash on Mac does have the crash report which is below.

Any advice will be appreciated!


Translated Report (Full Report Below)

Process: T6A_RiotLite [76108]
Path: /Volumes/VOLUME/*/T6A_RiotLite.app/T6A_RiotLite
Identifier: com.frederuckharrison.riotlite.T6A
Version: 1.0.0 (1.0.0.2)
AppStoreTools: 17F41
AppVariant: 1:MacFamily20,1:26
Beta: YES
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.frederuckharrison.riotlite.T6A [12470]
User ID: 501

Date/Time: 2026-05-29 16:54:32.6046 -0500
Launch Time: 2026-05-29 16:54:26.1808 -0500
Hardware Model: Mac14,10
OS Version: macOS 26.5 (25F71)
Release Type: User

Beta Identifier: CE509CAE-BD2B-583F-BD6F-3651F759D338
Incident Identifier: 7D1576D7-490C-4889-B67E-AA9ED71797F1

Sleep/Wake UUID: 45D6F55B-8390-409F-AD33-20D1B0DF6512

Time Awake Since Boot: 51000 seconds
Time Since Wake: 3251 seconds

System Integrity Protection: enabled

Triggered by Thread: 0, Dispatch Queue: com.apple.main-thread

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Termination Reason: Namespace SIGNAL, Code 6, Abort trap: 6
Terminating Process: T6A_RiotLite [76108]

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x186ac65e8 __pthread_kill + 8
1 libsystem_pthread.dylib 0x186b018d8 pthread_kill + 296
2 libsystem_c.dylib 0x186a08644 abort + 148
3 libsystem_c.dylib 0x186a078a0 __assert_rtn + 284
4 T6A_RiotLite 0x10099d1e0 UnhandledException(RuntimeObject*) + 440 (iOSApplication.mm:117)
5 T6A_RiotLite 0x10099f5e4 CallUserCode<bool, NSDictionary *, NSDictionary *> + 28 (XojoExceptions.h:48) [inlined]
6 T6A_RiotLite 0x10099f5e4 -[XOJAppDelegate application:didFinishLaunchingWithOptions:] + 404 (iOSAppDelegate.mm:75)
7 UIKitCore 0x1bf47ee44 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 336
8 UIKitCore 0x1c081326c -[UIApplication _callInitializationDelegatesWithActions:forScene:payload:fromOriginatingProcess:] + 3204
9 UIKitCore 0x1bf47d7f0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 856
10 UIKitCore 0x1bf47d3d8 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 92
11 UIKitCore 0x1bf47a8a8 _UIScenePerformActionsWithLifecycleActionMask + 112
12 UIKitCore 0x1bf47ccb0 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 228
13 UIKitCore 0x1bf47ca30 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 316
14 UIKitCore 0x1bf47bfd4 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 592
15 UIKitCore 0x1bf47bce4 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 244
16 UIKitCore 0x1bf47aec0 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 160
17 UIKitCore 0x1c02be750 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:] + 732
18 UIKitCore 0x1c03d3a4c _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion + 224
19 UIKitCore 0x1bf47aa54 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 304
20 UIKitCore 0x1bfc5ae68 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.219 + 648
21 UIKitCore 0x1bf479ea8 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 212
22 UIKitCore 0x1bf479d1c -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 220
23 UIKitCore 0x1bf47029c -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 496
24 UIKitCore 0x1c08165bc -[UIApplication applicationSceneWorkspace:didCreateScene:withTransitionContext:completion:] + 24
25 AppKit 0x18b50f6a8 0x18afb3000 + 5621416
26 AppKit 0x18b50e6f4 0x18afb3000 + 5617396
27 UIKitCore 0x1bf470004 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 304
28 FrontBoardServices 0x1a102d0cc __95-[FBSScene _callOutQueue_didCreateWithTransitionContext:alternativeCreationCallout:completion:]_block_invoke + 372
29 FrontBoardServices 0x1a102d6b4 -[FBSScene _callOutQueue_maybeCoalesceClientSettingsUpdates:] + 136
30 FrontBoardServices 0x1a102cec4 -[FBSScene _callOutQueue_didCreateWithTransitionContext:alternativeCreationCallout:completion:] + 476
31 FrontBoardServices 0x1a109a224 __93-[FBSWorkspaceScenesClient _callOutQueue_sendDidCreateForScene:transitionContext:completion:]_block_invoke.403 + 272
32 FrontBoardServices 0x1a1013b78 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 188
33 FrontBoardServices 0x1a1059b10 -[FBSWorkspaceScenesClient _callOutQueue_sendDidCreateForScene:transitionContext:completion:] + 508
34 FrontBoardServices 0x1a105b34c __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.323 + 268
35 FrontBoardServices 0x1a1013b78 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 188
36 libdispatch.dylib 0x1869604b0 _dispatch_client_callout + 16
37 libdispatch.dylib 0x18694b714 _dispatch_block_invoke_direct + 284
38 BoardServices 0x1a112590c BSSERVICEMAINRUNLOOPQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 48
39 BoardServices 0x1a1124690 BSServiceMainRunLoopSourceHandler + 224
40 CoreFoundation 0x186bbef30 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 28
41 CoreFoundation 0x186bbeec4 __CFRunLoopDoSource0 + 172
42 CoreFoundation 0x186bbec30 __CFRunLoopDoSources0 + 232
43 CoreFoundation 0x186bbd854 __CFRunLoopRun + 820
44 CoreFoundation 0x186c901c4 _CFRunLoopRunSpecificWithOptions + 532
45 HIToolbox 0x1939a3560 RunCurrentEventLoopInMode + 320
46 HIToolbox 0x1939a68bc ReceiveNextEventCommon + 488
47 HIToolbox 0x193b3014c _BlockUntilNextEventMatchingListInMode + 48
48 AppKit 0x18b69835c _DPSBlockUntilNextEventMatchingListInMode + 228
49 AppKit 0x18afec084 _DPSNextEvent + 576
50 AppKit 0x18bb818b0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
51 AppKit 0x18bb815bc -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
52 AppKit 0x18afdf13c -[NSApplication run] + 368
53 AppKit 0x18afb77b0 NSApplicationMain + 880
54 AppKit 0x18b1fe8e4 _NSApplicationMainWithInfoDictionary + 24
55 UIKitMacHelper 0x1a4f201bc UINSApplicationMain + 972
56 UIKitCore 0x1bf45bed4 UIApplicationMain + 144
57 T6A_RiotLite 0x10099ff1c runIOSMainLoop() + 112 (iOSAppDelegate.mm:270)
58 T6A_RiotLite 0x10045bdcc Xojo._RuntimeRun + 28
59 T6A_RiotLite 0x10083cccc _Main + 396
60 T6A_RiotLite 0x10083c58c main + 36
61 dyld 0x186743e00 start + 6992

Model: Mac14,10, BootROM 18000.120.36, proc 12:8:4:0 processors, 16 GB, SMC
Graphics: Apple M2 Pro, Apple M2 Pro, Built-In
Display: Color LCD, 3456 x 2234 Retina, Main, MirrorOff, Online
Memory Module: LPDDR5, Micron
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4388), wl0: Feb 2 2026 19:18:00 version 23.50.20.0.41.51.208 FWID 01-3e23bec0
IO80211_driverkit-1561.3 “IO80211_driverkit-1561.3” Apr 18 2026 17:42:26
AirPort:
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.

Which version of Xojo are you using?
Looks like it is an un handled exception, not a crash. Meaning you could capture the exception using XojoSentry.

The exception seems to happen in the App.Opening event. That might help you narrow it down.

I am using the latest build 2026 R1.2 .

I have gone through all my code and verified all objects are not nil before use.

I’m not familiar with XojoSentry. I will look into it tomorrow.

Also all my iOS & MacOS are current release versions.

Thanks

Did you ask AI to analyse your code?
I’m sure asking Claude code to check for possible exceptions in App.opening could solve the problem quickly.

It might be something else than a nil object exception.
Could be requesting access to something that needs an entry in the info.plist such as location services, notifications…

Also I’m not 100% sure it happens in App.opening event.
It might actually be right after App.opening has completed.

I have been using Claude code all morning on this issue.

Although it has found numerous possible problems which I have fixed, the outcome has not changed.

App Store via TestFlight is still crashing on load before any display.

Same on iPhone, iPad and Mac via TestFlight.

What does your app do?

Did you try capturing the exception on App.UnhandledException and writing to a log file?
Or using XojoSentry?

Fixing exceptions is usually much easier with the exception message.

Could be a missing entitlement or entry in the info.plist

It is a simple flight simulator for Navy/Airforce T-6A/B aircraft. It lets students practice point-point navigation skills.

All files are included in the App Bundle in Resource Folder. Nothing is written to the Resource Folder.

A Setting.txt file is Written/Read from/to the Documents folder.

This version is a reformatted version of my iPad version, where all the same underlying code is the same except that the iPad only used Screens.

The iPhone uses Screens but Puts allot of the controls are contained on Containers.

The containers allowed me to reuse them on different screens based on the different iPhones.

I’m using Try/Catch on all File IO and NIL checks on all Objects.

I to the point to use MessageBoxes at the different Open/Activate points to see when it breaks.

Did you find a way to capture the exception and fix the issue?

Negative.

I decided to create a new version of the app as a bear bones and then add the code from the original in small increments until I see a problem.

I have had no issues with TestFlight on this version as of yet.

I will get back to you when I finish with the results.

I have completed moving my crashing code to the new Xojo app and uploaded to the App Store.

It now tests perfect via TestFlight with zero crashes!

I guess there was some kind of corruption in the original.

Thanks for the advice.

1 Like