Hello,
I'm experiencing a critical issue with my Flutter iOS app on TestFlight where the app shows a completely black screen immediately after launch. The app does NOT crash (no .ips logs in iOS Settings → Analytics & Improvements)but Flutter Engine appears not to start at all. The same code runs perfectly on Android.
PROJECT INFO:
App Name: CNC AI Assistant
Bundle ID: com.beratech.cncassistant
Team ID: 958PPWZD27
Provisioning Profile UUID: 8122ca65-b15f-4daa-b0d2-1da5409c6859
Build CI: Codemagic
Flutter Version: 3.41.5
iOS Deployment Target: 14.0
Test Device: iPad15,3 running iOS 26.x
ISSUE BEHAVIOR:
Build succeeds on Codemagic without errors
IPA is signed with valid distribution certificate
TestFlight processes and accepts the build
Tester downloads/updates from TestFlight successfully
App opens → completely BLACK SCREEN immediately
LaunchScreen.storyboard does not appear
App does not auto-close (must be manually killed)
NO crash logs generated in iOS Settings
Same exact codebase works on Android (Google Play Internal Testing)
DEBUGGING ALREADY ATTEMPTED:
Replaced main.dart with MINIMAL code (only Firebase init + single Scaffold with white background and Text widget) - still black screen
Removed flutter_secure_storage package (had a known iOS 26 keychain init crash) - still black screen
Updated IPHONEOS_DEPLOYMENT_TARGET from 13.0 to 14.0 in pbxproj to match Podfile platform - still black screen
Tried both empty entitlements and entitlements matching the provisioning profile (com.apple.developer.applesignin + keychain-access-groups) - still black screen
Verified GoogleService-Info.plist is registered in pbxproj
Verified LaunchScreen.storyboard exists and is valid
Verified Info.plist has UILaunchStoryboardName = LaunchScreen and ITSAppUsesNonExemptEncryption = false
AppDelegate.swift contains only GeneratedPluginRegistrant.register
PROVISIONING PROFILE ENTITLEMENTS:
application-identifier: 958PPWZD27.com.beratech.cncassistant
com.apple.developer.applesignin: Default
keychain-access-groups: 958PPWZD27.*com.apple.token
com.apple.developer.team-identifier: 958PPWZD27
get-task-allow: false (production)
INSTALLED PLUGINS (from GeneratedPluginRegistrant.m):
firebase_authfirebase_corefirebase_storagecloud_firestore
purchases_flutterpurchases_ui_flutter (RevenueCat)
sign_in_with_applegoogle_sign_in_ios
shared_preferences_foundationpath_provider_foundation
webview_flutter_wkwebviewvideo_player_avfoundation
url_launcher_iosimage_picker_iosfile_picker
permission_handler_applepackage_info_plusdevice_info_plus
app_linksopen_filex
QUESTIONS:
What could cause a Flutter iOS app to silently fail to launch on iOS 26 with no crash logs?
Is there a known incompatibility between iOS 26 and certain entitlement configurations?
Could there be a mismatch issue between the provisioning profile entitlements and the app's actual entitlements that causes silent termination on iOS 26 specifically?
How can I obtain detailed launch/crash logs from the test device when no .ips file is generated? (sysdiagnose only shows system services like BackgroundShortcutRunnernot my app)
Are there any iOS 26-specific changes related to TestFlight builds or Flutter Engine initialization that I should be aware of?
I have full access to:
Complete pbxproj
Info.plistRunner.entitlementsRelease.entitlements
Codemagic build logs
Generated IPA file
Provisioning profile (.mobileprovision)
Screenshots of black screen on test device
Any guidance on diagnostic next steps or known iOS 26 issues would be greatly appreciated.
Thank you in advance.