fix:🐛️ sync iOS storyboard resources, keep Android generation on iOS-only warnings, and default Android light splash to white#91
Conversation
There was a problem hiding this comment.
Pull request overview
This PR improves the idempotency and correctness of iOS LaunchScreen.storyboard updates during splash generation by explicitly synchronizing <resources> image entries and tightening color attribute output.
Changes:
- Adds a dedicated synchronization step to keep storyboard
<resources>image entries aligned with the configured launch/background images. - Ensures stale managed image resources are removed before re-adding only the valid/required ones (and removes
<resources>if none remain). - Adds
colorSpace="custom"to generated inline storyboard color attributes for improved consistency.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ac4761b to
7791d92
Compare
…only warnings, and default Android light splash to white
7791d92 to
de17227
Compare
|
|
||
| if (iosSkipReasons.isNotEmpty) { | ||
| log('Skipping iOS splash generation: ${iosSkipReasons.join(' ')}'); | ||
| log('Continuing with Android generation.'); |
There was a problem hiding this comment.
Please check whether this Android generation log displays first and then Android generation starts.
| /// Default storyboard image resource width metadata. | ||
| /// | ||
| /// This is metadata for LaunchScreen.storyboard resources and not a layout size. | ||
| static const storyboardImageResourceWidth = '720'; |
There was a problem hiding this comment.
Please check and confirm if this width and height is given then will it affect the content mode or not?
There was a problem hiding this comment.
No it will not affect the content miode. The resource width/height are asset metadata and only describe the image, they don't override the view's scaling behavior.
| /// Default storyboard image resource height metadata. | ||
| /// | ||
| /// This is metadata for LaunchScreen.storyboard resources and not a layout size. | ||
| static const storyboardImageResourceHeight = '1280'; |
9411c71 to
c3cf77e
Compare
| // `@drawable/splash_screen_dark` and points night styles to the light | ||
| // drawable instead so resource linking succeeds. | ||
| try { | ||
| const nightValuesPath = |
There was a problem hiding this comment.
Just asking, don't we need to add the condition above it to check whether the darkImage is provided or not? If not, then only fall back to a light means a drawable splash screen of light.
There was a problem hiding this comment.
There is a code block in updateDarkStylesXml that will create or update the dark file if dark resources are present. so adding the condition here can save one unnecessary deletion but wont affect the final output
… when no dark config is provided
c3cf77e to
879cf38
Compare

Description
This PR improves splash generation reliability across iOS and Android in three areas:
What Changed
1) iOS storyboard resource sync
2) iOS warnings without blocking Android
3) Android light fallback to white
Why
Validation
Breaking Change?
Related Issues