Skip to content

Build the iOS app icon from [ios] icon or [bundle] icon - #5901

Open
LucaCappelletti94 wants to merge 1 commit into
DioxusLabs:mainfrom
LucaCappelletti94:upstream/dx-ios-app-icon
Open

LucaCappelletti94 wants to merge 1 commit into
DioxusLabs:mainfrom
LucaCappelletti94:upstream/dx-ios-app-icon

Conversation

@LucaCappelletti94

Copy link
Copy Markdown

dx never gave an iOS app an icon. write_metadata renders Info.plist without CFBundleIcons, nothing compiles an asset catalog, and [ios] icon, documented as overriding [bundle] icon for iOS, was parsed and then ignored. Every app built with dx build, dx serve or dx bundle for iOS therefore showed the blank placeholder on the home screen, in Settings and in notifications, and an App Store upload would fail its icon check.

iOS builds now take the largest raster image from [ios] icon, or from [bundle] icon when that is absent, and write it as the single universal 1024x1024 entry of an AppIcon set. xcrun actool compiles that set for the device or simulator and the app's deployment target, and the keys it declares are merged into Info.plist before signing. An icon with transparent pixels stops the build, because iOS icons must be opaque and actool passes alpha through without a word. The error points at [ios] icon, so an app whose [bundle] icon is a rounded macOS shape can give iOS a full-bleed image.

#5591 compiles an AppIcon.xcassets kept at the crate root for App Store bundles, and #5693 covers the Android side of #3685, both tracked in #5794.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant