At WWDC25 we launched a new type of Lab event for the developer community - Group Labs. A Group Lab is a panel Q&A designed for a large audience of developers. Group Labs are a unique opportunity for the community to submit questions directly to a panel of Apple engineers and designers. Here are the highlights from the WWDC25 Group Lab for Design.
Can you expand on how Liquid Glass helps with navigation and focus in the UI?
Liquid Glass clarifies the navigation layer by introducing a single, floating pane that acts as the primary navigation area. Buttons within this pane seamlessly morph as you move between sections, and controls can temporarily lift into the glass surface. While avoiding excessive use of glass (like layering glass on glass), this approach simplifies navigation and strengthens the connection between menus, alerts, and the elements that trigger them.
What should I do with customized bars that I might have in my app?
Reconsider the content and behavior of customized bars. Evaluate whether you need all the buttons and whether a menu might be a better solution. Instead of relying on background colors or styling, express hierarchy through layout and grouping. This is a good opportunity to adopt the new design language and simplify your interface.
What are scroll edge effects, and what options do we have for them?
Scroll edge effects enhance legibility in controls by lifting interactive elements and separating them from the background. There are two types: a soft edge effect (a subtle blur) and a hard edge effect (a more defined boundary for high-legibility areas like column sorting). Scroll edge effects are designed to work seamlessly with Liquid Glass, allowing content to feel expansive while ensuring controls and titles remain legible.
How can we ensure or improve accessibility using Liquid Glass?
Legibility is a priority, and refinements are ongoing throughout the betas. Liquid Glass adapts well to accessibility settings like Reduce Transparency, Increase Contrast, and Reduce Motion. There are two variants of glass: regular glass, designed to be legible by default, and clear glass, used in places like AVKit, which requires more care to ensure legibility. Use color contrast tools to ensure contrast ratios are met. The Human Interface Guidelines (HIG) are a living document offering best practices. The colors and materials pages are key resources.
Do you have any recommendations for convincing designers concerned with consistency across Android and Web to use Liquid Glass?
Start small and focus on high-utility controls that don't significantly impact brand experience. Native controls offer familiarity and predictability to users. Using the native controls makes sure your app feels at home on the device. Using native frameworks provides built-in accessibility support (dynamic type, reduce transparency, increase contrast). Native controls come with built-in behaviors and interactions.
Can ScrollViews include Liquid Glass within them?
You can technically put a glass layer inside a scroll view, but it can feel heavy and doesn't align with the system's intention for Liquid Glass to serve as a fixed layer. Think of the content layer as the scrolling layer, and the navigational layer as the one using Liquid Glass. If there is glass on the content layer it will collide into the navigational layer.
What core design philosophy guided the direction of iOS 26, beyond the goal of unification?
The core design philosophy involved blurring the line between hardware and software, separating UI and navigation elements from content, making apps adaptable across window sizes, and combining playfulness with sophistication. It was about making the UI feel at home on rounded screens.
Can we layer Liquid Glass elements on top of each other?
Avoid layering Liquid Glass elements directly on top of each other, as it creates unnecessary visual complexity. The system will automatically convert nested glass elements to a vibrant fill style. Use vibrant fills and labels to show control shapes and ensure legibility. Opaque grays should be avoided in favor of vibrant colors, which will multiply with the backgrounds correctly.
What will happen to apps that use custom components? Should they be adapted to the new design within the next year?
The more native components you use, the more things happen for free. Standard components will be upgraded automatically. Look out for any customizations that might clash. Think about what is the minimum viable change, where your app still feels and looks very similar to what it did. Prioritize changes in core workflows and navigational areas. There are a number of benefits to using native components including user familiarity, built-in accessibility support, and built-in behaviors and interactions.
Will Apple be releasing Figma design templates?
Sketch kits were published on Monday and can be referenced. The goal is to ensure the resources are well-organized, well-named, and easy to use. It's a high priority.
Explore the art and science of app design. Discuss user interface (UI) design principles, user experience (UX) best practices, and share design resources and inspiration.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hey there! I'd love to know if theres a way where you can animate items between ZStack and VStacks? Just like the native iOS notifications on the Lockscreen stack at the bottom and if tapped, they convert from a Stack to a List - I have a list with items, displayed in a VStack, and I make the list collapsable when swiping down, where the items stack behind eachother with a progresisve reduction in opacity & scale, but I havent figured out a way to animate the items between the list and the stack - where you can visually see items starting to overlap and stack ontop of eachother when collapsing the list.
Hi, I'm getting started with designing and coding a watchOS app. I wanted to use Sketch to plan the UI before I dive into coding, but it seems like the official Sketch templates on the Design Resources page only have templates for the Series 8 and SE 2 on watchOS 10. I want to use the Series 10's screen size for my layouts since it's the model I have, but I can't find a template for it. Will the official templates be updated for the new models? If not, does anyone know of a third-party template I can use? Thanks in advance!
Hi everyone,
since updating to Xcode 26 Beta 3, I’m seeing some really strange behavior. I just changed the color of a Color asset in my SwiftUI view – literally just switched from one named color to another – and suddenly:
• Previews stopped working completely, with vague or no error messages.
• Even when I changed the color back to what it was before, the previews still refused to build.
• In addition, Xcode no longer restores the open tabs/windows when reopening the project. It just shows a blank editor every time I open it.
This all happened without touching any project settings or code structure – just a simple color swap.
Has anyone else run into this with Xcode 26 Beta 3?
Would love to know if it’s a known bug or if there’s a workaround (besides nuking Derived Data, which I’ve already tried).
Thanks!
I'm developing an iPadOS 18+ application that uses a UITabBarController, styled as a sidebar, to serve as the primary navigation interface. This setup includes 20 different tabs, each representing a distinct section of the app.
For the user experience, each tab needs to present a master-detail interface, implemented using a UISplitViewController. The goal is to allow users to navigate between tabs via the sidebar, and within each tab, access related content through the split view's list-detail pattern.
The Problem:
Currently, my implementation involves instantiating a separate UISplitViewController for each tab, resulting in 20 unique split view instances embedded inside the UITabBarController. While this works functionally, it leads to significant memory usage, especially after the user opens each tab at least once. The accumulation of all these instantiated view controllers in memory eventually causes performance degradation or even memory warnings/crashes on lower-end iPads.
The Question:
What is the best approach to implement this type of architecture without running into memory management issues?
Specifically:
Is there a way to reuse or lazily load the UISplitViewController instances only when needed?
Can we unload or release split view controllers that haven't been used for a while to reduce memory pressure?
Would a custom container controller be more appropriate than using UITabBarController in this case?
Are there iPadOS 18+ best practices or newer APIs that support this kind of complex multi-tab, multi-split-view structure efficiently?
Any advice on how to optimize memory usage while preserving the sidebar navigation and split view layout would be highly appreciated.
This is my first attempt at creating a Wallet pass, actually a generic store card. When I see it with Pass Viewer on macOS, I get 1 look, when I see it with the iPhone simulator or iPhone proper, I get a different view. Neither is what I was hoping for, a simple vertical layout of an address.
Could someone steer me in the correct direction?
My json:
"formatVersion": 1,
"passTypeIdentifier": "pass.org.danleys.4KSBarcode",
"serialNumber": "__SERIAL__",
"teamIdentifier": "----",
"organizationName": "4 K.I.D.S. Sake",
"description": "4KSBarcode",
"logoText": "4 K.I.D.S. Sake",
"foregroundColor": "rgb(255, 255, 255)",
"backgroundColor": "rgb(255,0,0)",
"storeCard" : {
"primaryFields" : [
{
"key" : "ClientID",
"label" : "",
"value" : ""
}
],
"auxiliaryFields": [
{
"key": "street",
"label": "Address",
"value": "339 Remington Blvd"
},
{
"key": "city",
"label": "",
"value": "Bolingbrook, IL 60440"
}
]
},
"barcode": {
"format": "PKBarcodeFormatCode128",
"message": "__SERIAL__",
"altText": "__SERIAL__",
"messageEncoding": "iso-8859-1"
}
}
On macOS:
On iOS:
Thank you.
Ed
I am developing an app in Swift Playground (No Xcode). All my Views respond to the navigation call when I click NEXT except one. When I click NEXT the app hangs then crashes. The error message does not identify the cause of the crash. I have research every possible lead with no success. I would like to get some ideas on how to resolve this issue.
In my application, I am creating a simple NSMenu with NSMenuItems. The title of the NSMenuItems are adapted to the system language. So, when the system language is an RTL language (right to left), I want my NSMenuItem to be aligned at the right.
I can't see anyone talking about this, or any option that could make me achieve that easily.
NSMenuItem* item1;
NSMenuItem* item2;
item1 = [[NSMenuItem alloc] init];
item2 = [[NSMenuItem alloc] init];
item1.title = "foo";
item2.title = "bar";
item1.action = @selector(fooAction);
item2.action = @selector(barAction);
NSMenu *menu = [[NSMenu alloc] init];
[menu addItem:item1];
[menu addItem:item2];
I had, a long time ago (over 10 years) developed an application that is connected to my UPS (for solar panels).
Until yet it worked very well, and I didnot have to compute more than making updates of XCode. That was all.
But yet I have swiched to the latest value of switch, and it continue to compile, but it does'not work. I am asking to yo in order keeping my app working as previously. As it does not work, which library is replacing Cloudkit.framework ?
and which library is replacing InsPersistantContainer.framework ?
Have a good day
Guy Desbief
Hi everyone 👋 I’m a new iOS developer working on my first app and I’ve run into a frustrating visual bug involving my app icon during the launch/close transition.
Issue:
When I use Icon Composer (the new tool introduced for iOS 26) to generate my app icon, I consistently see a thin white border or “fringe” around the icon only during the transition animation (when the app opens or closes). It disappears once the animation ends.
What I tested and confirmed:
• I exported the exact same design directly from Adobe Illustrator as a 1024×1024 PNG, fully opaque, RGB color mode, background color filling the entire canvas (no transparency, no borders, no rounded corners).
• When I place that exported PNG directly into the AppIcon asset catalog in Xcode, the icon renders perfectly — no white fringe appears, just a slightly darker shade of blue during transitions (expected and acceptable).
• But when I generate the icon using Icon Composer, the white edge always appears, even if I disable effects, use full coverage layers, or only keep a flat color layer.
Notes:
• Tested on iOS 26 (latest beta) using Xcode 16.
• The issue seems specific to Icon Composer’s export format or metadata — maybe it’s not stripping alpha correctly or something related to the squircle mask?
• I followed all recommended specs: 1024×1024 px, PNG, sRGB, no transparency, exported from Illustrator at 72ppi with solid background.
Even tested without the logo, just the icon made with icon composer
Is anyone else experiencing this issue with Icon Composer exports?
Is there an official recommendation to avoid this during transitions or should I simply avoid Icon Composer for production icons for now and stick with Illustrator / Figma exports?
Thanks so much
Here’s a visual example:
Hi guys, I've exported the images with transparency for a Vision OS icon but I still keep getting a weird shadow on the top of the icon when I focus on it.
Do you guys had this issue before?
I've noticed that the App Store app tends to make the selected tab indicator darker on light mode and lighter on dark mode.
Is there any easy way to ensure better legibility out of the box with Tab View (SwiftUI) when using the tint modifier with custom colors?
As of right now Icon Composer does not support creating app icons for visionOS and tvOS. It appears that only system apps can provide glass icons for those platforms. How should developers handle this? In extreme cases, the flat icon on those platforms will look wildly different from their glass counterparts.
From what I have seen visionOS and tvOS also do not apply any automatic treatment like on iOS where legacy icons get a glass effect.
So, third party app icons are just going to look out of place for (hopefully just) a year on those platforms? What is the recommended approach here? You could obviously fake the effect, but I feel like that would be worse.
While build now I receive this error help me to resolve it
Showing Recent Errors Only
Prepare build
error: Multiple commands produce '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
note: Target 'PCS_EmpApp' (project 'PCS_EmpApp') has copy command from '/Users/mayankjain/Documents/05-NOV-2025-SWETA_IOS/PCS_EmpApp/PCS_EmpApp/xcode-out/Platforms/iOS/Info.plist' to '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
note: Target 'PCS_EmpApp' (project 'PCS_EmpApp') has process command with output '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
Multiple commands produce '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
Hi is there possibly to put text data or information into Roomplanapi elements like data wall color etc and export to usdz after lidar scan
I just discover that feature (a folder lost in the middle of others desktop folder ).
so with each updates:
-/usr/local is emptied
-somes apps in the Application folder, are deleted, even paid apps ..
-i lost : Docker, python 3.13, latexlive2025, Apache NetBeans, java install, Affinity Publisher 2, all my 3D slicers ... github desktop, Epic Games Launcher, ........
296go of apps
Franckly : c'est la merde !!!
I am using a MacBook Pro 16" 2019
any way to stop this behavior ?
thank you !!!
Showing Recent Errors Only
Prepare build
error: Multiple commands produce '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
note: Target 'PCS_EmpApp' (project 'PCS_EmpApp') has copy command from '/Users/mayankjain/Documents/05-NOV-2025-SWETA_IOS/PCS_EmpApp/PCS_EmpApp/xcode-out/Platforms/iOS/Info.plist' to '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
note: Target 'PCS_EmpApp' (project 'PCS_EmpApp') has process command with output '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
Multiple commands produce '/Users/mayankjain/Library/Developer/Xcode/DerivedData/PCS_EmpApp-chsylqbxjptobeawzzckymqzagvr/Build/Products/Debug-iphonesimulator/PCS_EmpApp.app/Info.plist'
Hi,
Normally we need many shades of gray in any App and Apple system have only 3 , Primery, Secondary, and Gray, so to make Gray regress that automatically adapt to Dark Mode we just use opacity on these colors ? there's no system built in Gray degrees ?
Kind Regards
Target: MacOS 11.1 and above
C++, Juce 8, XCode 16.2
Testing: Sonoma 14.5
Logic Pro (latest version), Reaper 7.34, Pro Tools 2023.12 and 2025.6
I'm developing an audio plugin that creates an NSStatusItem ("menu bar status icon" or MBSI for short) to provide visual feedback for one of the components. I've encountered a Logic Pro-specific behavior that I'd like to fix. I'm building for Mac-only, Intel and Silicon, and for AU/VST3/AAX.
Summary:
The NSStatusItem for the MBSI is created successfully and functions properly in some hosts (Reaper (AU and VST3), Pro Tools (AAX)) but isn't visible in Logic Pro, despite identical API behavior.
Details:
NSStatusItem Creation: implementation using [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength]
All API calls report success in both working (Reaper) and non-working (Logic Pro) hosts.
Logging shows Logic Pro and Reaper create the NSStatusItem with the same properties:
Window frame: {{0, -36}, {38, 36}} (both hosts)
statusItem.visible: YES (both hosts)
Button exists and responds to state changes (both hosts)
Y coordinate is -36 pixels (above visible screen, both hosts)
In Reaper, I can see the MBSI but in Logic Pro I can't. Note: the MBSI has no functionality beyond visual feedback. It's not clickable nor does it create a corresponding menu.
Questions:
Are there known differences in how Logic Pro's AU hosting service handles system UI elements compared to other hosts? And if so, is there guidance on AU plugins accessing system UI elements like the menu bar?
Link to NSStatusItemTest.component: https://app.box.com/s/i3rq0hii3qf43iojrayc17fsfq7fnssd
Link to video showing issue: https://app.box.com/s/icefqk898timqov77t468lqtio0rjqul
Link to Console output for testing in Reaper vs Logic Pro: https://app.box.com/s/ph6nv1lmozo3phtjx3md6abdms5atgg6
Hi guys, I've exported pngs for the middle and front images of an icon but I still se this weird shadow on top of the icon. Do anyone knows how to solve this?
Can the vehicle‑side UWB module, acting as a Nearby Accessory, perform ranging with multiple iOS phones simultaneously while iOS cell uses background ranging with the vehicle‑side UWB (which involves BLE GATT services)?
I mean, when the IOS cell works in the background, it will read the nearby gatt characteristic automatically. If there were multiple phones perform ranging with the accessory, the read characteristic from the accessory side, what shall its content be?
Or does the accessory only perform ranging with one phone at a time?