Asset Catalog

RSS for tag

An asset catalog is a type of file used to organize and manage different assets and image resolutions used by your app’s user interface.

Posts under Asset Catalog tag

28 Posts

Post

Replies

Boosts

Views

Activity

Xcode 26 RC unable to compile asset catalogs on CI
This started with Xcode 26 beta 7, however it has continued to occur with the release candidate. Whenever I try to compile our asset catalog + icon composer icon for our AppKit/SwiftUI-based macOS app, actool fails with the following exception: *** Terminating app due to uncaught exception 'IBPlatformToolFailureException', reason: 'The tool closed the connection (AssetCatalogAgent-AssetRuntime) Last command: _ON_QUEUE_sendMessage:toChannelReturningError:during: Backtrace of last command: 0 -[IBAbstractPlatformToolProxy _ON_QUEUE_sendMessage:toChannelReturningError:during:] (in IDEInterfaceBuilderKit) 1 __74-[IBAbstractPlatformToolProxy sendMessage:toChannelReturningError:during:]_block_invoke (in IDEInterfaceBuilderKit) 2 _dispatch_client_callout (in libdispatch.dylib) 3 _dispatch_lane_barrier_sync_invoke_and_complete (in libdispatch.dylib) 4 DVTDispatchSync (in DVTFoundation) 5 -[IBAbstractPlatformToolProxy sendMessage:toChannelReturningError:during:] (in IDEInterfaceBuilderKit) 6 -[AssetCatalogRemoteAgentProxy compileItemsWithCatalogRelativeIdentifierPaths:tagSolutionSpace:andStickerPacksWithCatalogRelativeIdentifierPaths:options:] (in IDEInterfaceBuilderCocoaTouchIntegration) 7 -[IBICLARToolCARCompiler compileCARItems:tagSolutionSpace:options:queue:completionHandler:] (in AssetCatalogCocoaTouchKit) 8 -[IBICAbstractPlatformAdapter compileCARItems:tagSolutionSpace:options:queue:completionHandler:] (in AssetCatalogFoundation) 9 __84-[IBICAbstractPlatformAdapter compileSelectedItems:options:queue:completionHandler:]_block_invoke (in AssetCatalogFoundation) 10 __93-[IBICAbstractPlatformAdapter compileStandaloneCatalogItems:options:queue:completionHandler:]_block_invoke (in AssetCatalogFoundation) 11 __DVT_CALLING_CLIENT_BLOCK__ (in DVTFoundation) 12 __DVTDispatchAsync_block_invoke (in DVTFoundation) 13 _dispatch_call_block_and_release (in libdispatch.dylib) 14 _dispatch_client_callout (in libdispatch.dylib) 15 _dispatch_main_queue_drain.cold.5 (in libdispatch.dylib) 16 _dispatch_main_queue_drain (in libdispatch.dylib) 17 _dispatch_main_queue_callback_4CF (in libdispatch.dylib) 18 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ (in CoreFoundation) 19 __CFRunLoopRun (in CoreFoundation) 20 CFRunLoopRunSpecific (in CoreFoundation) 21 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] (in Foundation) 22 -[NSRunLoop(DVTNSRunLoopAdditions) dvt_spinRunLoopInMode:whileQueue:executesAsynchronously:] (in DVTFoundation) 23 -[NSRunLoop(DVTNSRunLoopAdditions) dvt_spinRunLoopInMode:whileBlockExecutesConcurrently:] (in DVTFoundation) 24 -[NSRunLoop(DVTNSRunLoopAdditions) dvt_spinRunLoopInMode:waitingForSemaphore:] (in DVTFoundation) 25 -[IBCLIImageCatalogToolPersona compileCatalogCollection:withPlatformAdapter:arguments:outputDictionary:] (in ibtoold) 26 -[IBCLIImageCatalogToolPersona invokeArguments:outputDictionary:] (in ibtoold) 27 -[IBCLIImageCatalogToolPersona runSingleInvocation:outputtingToFileHandle:andVerifyingEnvironment:] (in ibtoold) 28 IBCLIServerRunSingleInvocation (in ibtoold) 29 __IBCLIServerRunSingleInvocationWithIODirectedAtPipesAndUnlinkOnSuccess_block_invoke_2 (in ibtoold) 30 __IBCLIServerRunSingleInvocationWithIODirectedAtPipesAndUnlinkOnSuccess_block_invoke (in ibtoold) 31 -[IBCLIErrorForwarder forwardErrorOutputToDescriptor:whileInvokingBlock:] (in ibtoold) 32 IBCLIServerRunSingleInvocationWithIODirectedAtPipesAndUnlinkOnSuccess (in ibtoold) 33 main (in ibtoold) 34 start (in dyld) I can't seem to get it to compile consistently — it works fine locally. I would ❤️ a workaround, otherwise I'm not sure that we'll be able to ship an update to our app for macOS 26. FB20183399
3
2
172
3d
Icon Composer: Any way to add icons to the app bundle for older macOS versions?
Several app developers are struggling with the inability to provide a separate app icons that looks nice on older macOS versions while at the same time provide Icon Composer icons that look great on macOS Tahoe 26. An ability to provide separate icons is super important to those who have app icons that follow the curvature of the default icon borders (as the corner rounding radius is different for Sequia and Tahoe). Take a look at this for example: https://github.com/ghostty-org/ghostty/issues/7564#issuecomment-3042061547 Question: Is there a definitive/recommended way to address this issue? How can a developer add a glass icon variant that looks good on Tahoe and provide a bitmap icon for older macOS versions? Some background info: Prior to Xcode 26 beta 4, one could add an App Icon to Assets to be used as app icon for legacy macOS versions (Sequia and older) and use a new Icon Composer icon (placed in the project root) for macOS Tahoe 26. Enabling "Include all app icon assets" under target settings ensured that older macOS versions would use the old app icons while Tahoe the new Icon Composer glass one. Since Xcode beta 4 this technique no longer works. Xcode instead insists on populating Assets.car with Icon Composer generated variants, disregarding the App Icon provided in Assets. Although the App Icon in Assets makes its way to a .incs file in the app bundle's Contents/Resources folder, but that is not used by macOS anymore and is there for some compatibility purposes. The Assets.car file (which matters) only contains the variants generated by Icon Composer and does not contain the png icons provided in the Assets.
9
12
751
3d
Mergeable Libraries & Image assets
We are unable to access images from an Asset catalog that is part of a dynamic framework that is mergeable, on Debug configuration, when running on an actual device under certain circumstances when using Xcode 16.4 and targeting iOS. If anywhere in the app we call the Bundle(identifier:) initializer for whatever ID, subsequent calls to UIImage(named:in:with:) for images in the framework's bundle return nil. We have verified that the bundle (path) and the name of image & assets target memberships are correct, and that Assets.car has the images. Additionally the only way to make UIImage(named:in:with:) work is to use Bundle(for:) where BundleFinder is part of the mergeable library, non private NSObject class. Anything else and the re-exported bundle is returned which has no assets.
0
0
55
4d
Liquid Glass App Icons without Icon Composer
We have found that on iOS 26 beta some of our app icons built from an Xcode 16 asset catalog containing a single 1024x1024 .png file have a Liquid Glass effect applied to them while others have not. The documentation states that If you choose not to use Icon Composer, you can still use an AppIcon asset catalog in your project containing individual app icon images and let the system apply the Liquid Glass material. and If you prefer, you can take advantage of the system’s automatically generated treatment that is applied to all app icons. Is there any insight into how the system treats app icons that have not yet been updated with Icon Composer?
0
1
1.7k
3w
tvOS icon missing layers
I have an AppleTV app which I released in 2016. I've updated it and released a new version every year without much hassle. This year, with tvOS 17.2, the layered app icon isn't working right. This is a two-layer image made with PNGs. When it's selected, it looks right and the layers move correctly: But when it's not selected, the background layer disappears: Screenshots are from the simulator but it also happens on the device. It's inconsistent; sometimes it's the front layer that disappears. Occasionally both layers work, but I can't tell why. I've spent a day trying everything. Very frustrated. The icon previews correctly in Xcode and in Parallax Viewer. The image sizes are correct: 400 x 240 for Small, 800 x 480 for Small@2x, 1280 x 768 for Large. The back layer is a non-transparent PNG. I tried adding a Large@2x set. Didn't help. Originally I had a three-layer image with no middle layer PNG. I deleted the empty middle layer, but that didn't help. All the PNG files are from GnuIMP. Same color space, even. I was using the filenames tvicon-back-s.png and tvicon-back-s@2x.png. I tried taking out the @ sign in case that was confusing Xcode. (It never has before, but I am flailing here.) Anybody have any clues? If it's an Apple bug and there's nothing I can do, I'm going to just push the release button and hope it fixes itself someday.
7
0
1.4k
Aug ’25
Having both watchOS 26 and watchOS 11 icons
I'm trying to update the icon of my app for watchOS 26, and I'm having troubles providing both a layered Liquid Glass icon for watchOS 26 users and a pre-rendered bitmap icon (in various sizes) for watchOS 11 and older users. Whatever I do; I either get a blurry, scaled-down watchOS 26 icon on watchOS 11; or watchOS 11's bitmap icons on watchOS 26. While I could get the wanted result on macOS 26 and iOS 26, I simply can't get an equivalent result with watchOS 26.
5
0
170
Aug ’25
Unable to Add Font to Asset Catalog as a Font Set (Appearing as "Data")
Hi Support Team, I am new here. I am unable to add my fonts to the asset catalog there is no option to add new font set when I click the plus sign. When I drag my files in they show up as data. I have a Contents.json in the font folder called BeVietnamProFont.font. Is there something I am doing wrong? Thanks SO much! { "info": { "version": 1, "author": "xcode" }, "properties": {}, "fonts": [ { "filename": "BeVietnamPro-Black.ttf", "weight": "black", "style": "normal" }, { "filename": "BeVietnamPro-BlackItalic.ttf", "weight": "black", "style": "italic" }, { "filename": "BeVietnamPro-Bold.ttf", "weight": "bold", "style": "normal" }, { "filename": "BeVietnamPro-BoldItalic.ttf", "weight": "bold", "style": "italic" }, { "filename": "BeVietnamPro-ExtraBold.ttf", "weight": "heavy", "style": "normal" }, { "filename": "BeVietnamPro-ExtraBoldItalic.ttf", "weight": "heavy", "style": "italic" }, { "filename": "BeVietnamPro-ExtraLight.ttf", "weight": "ultralight", "style": "normal" }, { "filename": "BeVietnamPro-ExtraLightItalic.ttf", "weight": "ultralight", "style": "italic" }, { "filename": "BeVietnamPro-Light.ttf", "weight": "light", "style": "normal" }, { "filename": "BeVietnamPro-LightItalic.ttf", "weight": "light", "style": "italic" }, { "filename": "BeVietnamPro-Regular.ttf", "weight": "regular", "style": "normal" }, { "filename": "BeVietnamPro-Italic.ttf", "weight": "regular", "style": "italic" }, { "filename": "BeVietnamPro-Medium.ttf", "weight": "medium", "style": "normal" }, { "filename": "BeVietnamPro-MediumItalic.ttf", "weight": "medium", "style": "italic" }, { "filename": "BeVietnamPro-SemiBold.ttf", "weight": "semibold", "style": "normal" }, { "filename": "BeVietnamPro-SemiBoldItalic.ttf", "weight": "semibold", "style": "italic" }, { "filename": "BeVietnamPro-Thin.ttf", "weight": "thin", "style": "normal" }, { "filename": "BeVietnamPro-ThinItalic.ttf", "weight": "thin", "style": "italic" } ] } ![]("https://developer.apple.com/forums/content/attachment/56835f04-d1c1-468f-808b-9a786562d367" "title=Screenshot 2025-07-13 at 1.05.05 PM.png ;width=539;height=630")
0
0
139
Jul ’25
How do I take an Icon Composer file and bring it into Xcode?
How do I take an Icon Composer file and bring it into Xcode? The WWDC 25 session video "Create Icons with Icon Composer", Delivery chapter (around 13:16) was not detailed enough on how to bring the file into Xcode so it will be used for the project. Once I've saved the Icon Composer file to Finder, where do I import/put it into my Xcode project. I have previous App Icon content in Assets. Do I add Icon Composer file content to Assets in Xcode? How do I make sure Xcode uses the new Icon Composer content in my Xcode project (for iOS) vs. the App Icon asset I currently use?
3
1
195
Jun ’25
App displays wrong localized image
I have an image in the xcassets file which is localized for different languages. When setting App language to Traditional Chinese, it always displays the Simplified Chinese image. This happens on latest iOS 18.5 system, but not on a lower system version. The feedback assistant ID is FB17663546
0
0
51
Jun ’25
App Store rejects binary built with with alternate app icons, ITMS-90895
Hello, At my company, we're trying to run an App Store A/B test on alternate app icons. However, the App Store is rejecting the binary when we upload it (see email below). We're hoping someone out there knows the solution to this issue. Background Currently, our app is built with one target from amongst several different schemes. These schemes are used for various versions, including developer debug builds, TestFlight builds, App Store builds, and others. Each scheme has its own distinct app icon specified in Xcode, as shown in the image below: In our project, we've added the alternate app icons for the two App Store treatments as recommended according to Apple's documentation (we named them "AppIcon-T1" and "AppIcon-T2"). These are located inside our "Images.xcassets" asset catalog. Each alternate app icon's properties are configured as: iOS: Single Size macOS: None watchOS: None Appearances: None Gamut: Any The Problem After making the changes above, creating an App Store build succeeds as usual. However, every time we submit an App Store build, we receive this email from Apple: Please correct the following issues and upload a new binary to App Store Connect. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons~ipad.CFBundleAlternateIcons contains an entry “AppIcon-Enterprise” that references asset “AppIcon-Enterprise.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons~ipad.CFBundleAlternateIcons contains an entry “AppIcon-Debug” that references asset “AppIcon-Debug.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons~ipad.CFBundleAlternateIcons contains an entry “AppIcon-T2” that references asset “AppIcon-T2.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons~ipad.CFBundleAlternateIcons contains an entry “AppIcon-T1” that references asset “AppIcon-T1.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons.CFBundleAlternateIcons contains an entry “AppIcon-Enterprise” that references asset “AppIcon-Enterprise.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons.CFBundleAlternateIcons contains an entry “AppIcon-Debug” that references asset “AppIcon-Debug.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons.CFBundleAlternateIcons contains an entry “AppIcon-T2” that references asset “AppIcon-T2.” No such asset is present in the asset catalog. ITMS-90895: Missing Icon - The Info.plist key CFBundleIcons.CFBundleAlternateIcons contains an entry “AppIcon-T1” that references asset “AppIcon-T1.” No such asset is present in the asset catalog. Troubleshooting According to those error messages, the problem is that the alternate app icons aren't being included in the asset catalog. However, we've double-checked that everything seems to be correct in terms of project setup: The alternate icons are in our "Images.xcassets" catalog (just like our existing app icon) We made sure that "Include all app icon assets" is checked in our project file under ➤ General ➤ App Icons and Launch Screen The alternate app icons are specified as App Icons, not Image Sets The alternate app icons have their target membership set correctly The alternate app icons are in PNG format at 1024 x 1024 size If we remove the alternate app icons from the asset catalog and rebuild and resubmit, the App Store issue disappears. Any help appreciated. Thank you!
4
2
152
May ’25
Vibrancy effect not applied to context menu UIImages rendered in template mode
Our Apple TV provides UIImages with renderingMode forced to .alwaysTemplate (the images are also configured with "Render As" to "Template image" in the Asset catalog) to UIActions as UIMenuElement when building a UICollectionView UIContextMenuConfiguration. Problem: these images are not displayed with vibrancy effect by the system. The issue does not occur with system images (SVG from SF Catalog). Here is a screenshot showing the issue with custom images ("Trailer" and "Remove from favourites"): I don't know the underlying implementation of the context menu items image but UIImageView already implements the tintColorDidChange() method and the vibrancy should work if the UIImage is rendered as template. According to my tests, the vibrancy is correctly applied when using Symbols sets instead of Images sets but I understand that custom images rendered as template should support it as-well, shouldn't they?
2
0
148
Mar ’25
Xcode editor fails to generate Swift Asset Symbol Extension if on demand resources is used
I started using on-demand resources for some data assets. After that, the Swift Asset Symbol Extension feature began to fail in the Xcode editor. Even though the app builds and runs fine, the Xcode editor shows errors, indicating that there is no extension variable for my color and image assets. I submitted feedback and updated it after each new Xcode release. However, I have not received any responses, and the problem persists. The Xcode versions I tested: 15.3, 15.4, 16.1, 16.2, 16.3 Steps to reproduce this error: Create a new app project (SwiftUI, Swift). Create a new color asset named "myBackground." In ContentView, add a background modifier to a view: .background(Color.myBackground). Auto-completion will work, and there are no issues. Create a new data asset named "myData." Add the "On Demand Resource" tag to "myData" with the tag "some_tag." Create a new color asset named "myOtherBackground" and make its color different from "myBackground." In ContentView, try to replace the background with Color.myOtherBackground. It will not be listed in auto-completion and will show the error "Type 'Color' has no member 'myOtherBackground.'" However, it will still compile and show "myOtherBackground" in the preview, simulator, or on the device. You will start to see the failed "Project Build Preparation" report in the Reports Navigator in Xcode. According to the report, the "GenerateAssetSymbols" command fails. Error message: GenerateAssetSymbols /Users/***/Projects/***/***/Assets.xcassets (in target '***' from project '***') cd /Users/***/Projects/*** /Applications/Xcode_15.3.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/assetcatalog_dependencies --output-partial-info-plist /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/assetcatalog_generated_info.plist --app-icon AppIcon --accent-color tint --compress-pngs --enable-on-demand-resources YES --development-region en --target-device iphone --minimum-deployment-target 15.0 --platform iphonesimulator --asset-pack-output-specifications /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/AssetPackOutputSpecifications.plist --compile /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Products/Debug-iphonesimulator/workoutai.app /Users/***/Projects/***/***/Assets.xcassets --bundle-identifier *** --generate-swift-asset-symbols /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/DerivedSources/GeneratedAssetSymbols.swift --generate-objc-asset-symbols /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/DerivedSources/GeneratedAssetSymbols.h --generate-asset-symbol-index /Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/DerivedSources/GeneratedAssetSymbols-Index.plist /* com.apple.actool.errors */ : error: Could not create a NSArray from '/Users/***/Library/Developer/Xcode/DerivedData/***-***/Index.noindex/Build/Intermediates.noindex/***.build/Debug-iphonesimulator/***.build/AssetPackOutputSpecifications.plist'. : error: Not enough arguments provided; where is the input document to operate on? Command GenerateAssetSymbols failed with a nonzero exit code
1
0
394
Feb ’25
If My New Film 'Metaphor' Wins The Oscar For Best Short Film At The Academy Awards How Can I Distribute It On The App Store?
Hello Everyone Sam Francisco here otherwise known as Ian Francis Creative Director at Primus Films Ltd in the UK. I'm excited today to have Apple invite me to the Developer Forums and indeed honoured to have the chance of creating something that is of interest in the App Store and beyond. My question is self explanatory really, I am in the Final Cut of 'Metaphor' which is a 42 minutes 17' second Horror Film about Climate Change and I have a deadline set for it's Premiere on YouTube which is this year on April 22nd which as I'm sure you all know is Earth Day. So although I am quite comfortable and relatively proficient as the film's Writer, Director and Editor I have to confess to being green as tomatoes when it comes to marketing and publicity, and negotiating rights and agreeing deals for example to gain access to the App Store here at Apple with a view to discussing rental or sale options. Even if the film comes away empty handed from the Dorothy Chandler it'll be all set for the Baftas over in the UK and I was wondering how to get discussions going on this and if anyone out there has any knowledge of where I even start I would be very grateful. Thank you for your time Ian Francis
1
0
799
Feb ’25
App Intent snippet view does't able to fetch color for xcassets.
We have an existing app in which we have implemented AppShortcuts. The snippet view works fine in iOS 17 while in iOS18 beta, it doesn't able to fetch color from xcassets. If we use system colours or UIColor it's working fine. Not working Color("progressColor") Working Color(uiColor: UIColor(named: "progressColor")!) Color.red Color(hex: "3881d3") // Note: We created Color extension to generate color from hex string.
2
5
884
Jan ’25
Reusing string catalog translations in swift packages
Setup I have 2 swift packages and I try to use stirng catalog to manage your localizations I would like to use some specific keys in these packages and some common ones (e.g. "ok_button_tittle") Problem statement I really don't like the idea of creating separate (but the same) translations in these packages I have tried using something like String( localized: "ok_button_title", table: "Localizable", bundle: .main, comment: "Ok button title" ) This does use translations from the main bundle, however this does not automatically create the keys in string catalog Question Is there any possibility to reuse the translations from the main bundle? Maybe there is a hack to make the keys appear automatically in the correct bundle? Or is it a bug?
1
0
445
Jan ’25
Can't compile asset catalog when including iMessage App Icon asset
I'm trying to add an iMessage extension to my app, and upon adding the iMessage App Icon set, I ran into an issue with one specific icon size: 1024x768px, aka 1x 1024x768pt. When I remove this one icon from the icon set, it compiles and runs fine, however I can't push it to the App Store as I get the error: "Asset validation failed. Missing Image Asset. Your app is missing the Large App Icon asset 'AppIcon' in 'Payload/Runner.app/PlugIns/MessagesExtension.appex'." I'm assuming this refers to 1024x768px, as this size placeholder appears upon adding a New Messages Extension Icon to my assets folder, and 1024x1024 is already included and compiles fine with it. However, when I add the 1024x768 icon, and try to run the app, I get the error: "Command CompileAssetCatalog failed with a nonzero exit code" The app icon's filename is correct, it is exactly 1024x768 px, and my contents.json correctly includes : { "filename" : "AppIcon_1024x768.png", "idiom" : "ios-marketing", "platform" : "ios", "scale" : "1x", "size" : "1024x768" } as is the same format for all of my other icons that work. Why am I running into this issue upon inclusion of this one required size? How do I fix it?
2
0
705
Jan ’25
Assets.xcassets vs. Media.xcassets
In Xcode 16, when I use File > New > Project to create a new iOS app project, Xcode automatically creates an asset catalog file called Assets.xcassets in the project. However, if I later use File > New > File from Template, for example to add an asset catalog to an embedded Swift package within a project, Xcode suggests the default filename Media.xcassets for the file, instead of Assets.xcassets. Why is the default name for this file different in each context? Thank you for explaining this troubling consistency issue which causes me to lie awake at night.
1
0
530
Dec ’24