cordova-ios icon indicating copy to clipboard operation
cordova-ios copied to clipboard

Support iOS 26 Icon Composer icons

Open dpogue opened this issue 7 months ago • 4 comments

Feature Request

Motivation Behind Feature

iOS/macOS/visionOS/Xcode 26 support a new icon format that uses vector drawing and effect layers to composite an icon dynamically for different modes and scales.

Cordova should (when building with Xcode 26) support providing an app icon in that new format.

Feature Description

If an <icon> tag is defined in config.xml whose src attribute has an extension of .icon and a folder exists at that path, it should be copied in to the platform App folder and added to the Xcode project.pbxproj file as a resource (essentially, treat it the same as <resource-file> but with a hardcoded target path of AppIcon.icon)

Implementation

<icon src="res/icon/ios/IconComposerFile.icon" />

is effectively the same as

<resource-file src="res/icon/ios/IconComposerFile.icon" target="../AppIcon.icon" />

Alternatives or Workarounds

Make people use <resource-file> directly, which seems less than ideal since this is likely to be a common use case.

dpogue avatar Jun 18 '25 01:06 dpogue

Would <icon src="res/icon/ios/IconComposerFile.icon" /> replace all of the previous icon entries, or would it be added alongside them?

I haven’t looked into the new icon format yet, but I’m wondering if it also covers the older entries for backward compatibility, the non-"layered icons out of Liquid Glass"?

erisu avatar Jun 18 '25 05:06 erisu

I believe this supersedes the other app icons on iOS 26 and newer versions, but those existing icons will continue to be used for older versions. Keep in mind that Xcode 15 allows specifying a single 1024⨉1024 icon instead of all the various sizes. Icon Composer includes an option to manually export the layered icon as a 1024⨉1024 image.

dpogue avatar Jun 19 '25 01:06 dpogue

Do you think the following PR would be re-reviewed for this release?

https://github.com/apache/cordova-ios/pull/1309

I believe back then it was rejected because it required iOS 12.0 and CordovaLib decided to remain on 11.0, but now the minimum deployment target has been increased for Cordova-iOS 8.

erisu avatar Jun 23 '25 10:06 erisu

Do you think the following PR would be re-reviewed for this release? #1309

The functionality for a single 1024⨉1024 icon is already supported in cordova-ios 8.0.0 with https://github.com/apache/cordova-ios/pull/1465

dpogue avatar Jun 23 '25 21:06 dpogue