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.

All subtopics
Posts under Design topic

Post

Replies

Boosts

Views

Activity

A Summary of the WWDC25 Group Lab - Design
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.
Topic: Design SubTopic: General
0
0
1.9k
Jun ’25
CarPlay navigation issue, maximum depth
Hi everyone, I am working on a CarPlay integration, and need open a two level list opened from a root template. However, I am always receiving an error message when opening the 2nd pushed template. To narrow it down not to have an issue with some app specific code I created the CarPlay scene below. I am aware that there is a limit, but two levels I understand are supported on all CarPlay integrations, the maximum seems to be 5. The app is just crashing right after showing the 2nd template. Any ideas? Any hints are much appreciated. Thanks a lot! Regards, Michael class CarPlaySceneDelegate2: UIResponder, CPTemplateApplicationSceneDelegate { // [...] private func createRootTemplate() -> CPListTemplate { let pushToAItem = CPListItem(text: "Push to Template A", detailText: "Level 1 → Level 2") pushToAItem.handler = {[weak self] (pushToAItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateA(), animated: true, completion: { (didPresent, error) in completion() } ) } let section = CPListSection(items: [pushToAItem]) let template = CPListTemplate(title: "Root Template", sections: [section]) return template } private func pushTemplateA() -> CPListTemplate { let pushToBItem = CPListItem(text: "Push to Template B", detailText: "Level 2 → Level 3") pushToBItem.handler = {[weak self] (pushToBItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateB(), animated: true, completion: { (didPresent, error) in completion() } ) } let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion(); } let infoItem = CPListItem(text: "Current Depth", detailText: "2 (Template A)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [pushToBItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template A", sections: [section]) return template } private func pushTemplateB() -> CPListTemplate { let pushToCItem = CPListItem(text: "Push to Template C", detailText: "Level 3 → Level 4") pushToCItem.handler = {[weak self] (pushToCItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateC(), animated: true, completion: { (didPresent, error) in completion() } ) } let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion() } let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template A") popOneItem.handler = { [weak self] _, completion in self?.interfaceController?.popTemplate(animated: true, completion: nil) completion() } let infoItem = CPListItem(text: "Current Depth", detailText: "3 (Template B)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [pushToCItem, popOneItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template B", sections: [section]) return template } private func pushTemplateC() -> CPListTemplate { let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion() } let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template B") popOneItem.handler = { [weak self] _, completion in self?.interfaceController?.popTemplate(animated: true, completion: nil) completion() } let infoItem = CPListItem(text: "Current Depth", detailText: "4 (Template C)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [popOneItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template C", sections: [section]) return template } }
2
0
1.9k
Jan ’26
Spam 4.3 (a)
Hello everyone, I’ve reached out to Apple’s review team multiple times, but unfortunately, I haven’t received any clear or specific guidance on why my app was rejected. My app has been rejected several times with the reason “Spam” under guideline 4.3, and I still don't understand exactly which part of the app is problematic. Even after providing the necessary information about the data, I resubmitted the app, and after a few days, it quickly moved into "In Review" status, but then was rejected within seconds with the same “Spam” message. I have sent over 13 messages asking for specific feedback, and all I get are vague responses saying “It’s spam, refer to 4.3, fix your app, and resubmit.” However, when I review the guidelines, I don’t see any specific reasons for rejection that apply to my app. I’m particularly confused because my app is a VPN, and when I check the guidelines, I see that apps in categories like dating and others are saturated, but VPN apps are not. My app uses completely dedicated servers, and the IP addresses are not found in any other apps. Still, my app keeps getting rejected. If anyone has encountered a similar issue or has any insight into what might be causing this, I would greatly appreciate it if you could provide detailed guidance on what specifically needs to be changed to get the app approved. Thank you!
Topic: Design SubTopic: General
5
2
2.3k
3w
Always use new animation in Stage Manager, why not?
The brand new animation in Stage Manager greatly reduced dizziness. However, don’t know why it ONLY applies when no window was presented. What would be the problem elsewhere? Stage Manager is one of pretty few motion pictures that annoyed me and forced me to turn on Reduce Motion, or stop using Stage Manager. Big pity… macOS 26.0 (25A5346a) wont use ipad to post…
Topic: Design SubTopic: General
1
0
716
Sep ’25
iOS26 CarPlay not optimized for Subaru 11.6 inch vertical in infotainment screen
The newest iOS 26 CarPlay upgrade seems more like a downgrade with vehicles from Subaru with the 11.6 inch vertical infotainment display. Such a big screen, but only one widget shows at a time additionally, prior to this iOS update we had three lines of apps on the main page now only two. also to be noted album art size on all music streaming and podcast apps is extremely small about half the size of what it originally was prior to this update yes, I tried turning on and off the screen optimization setting and CarPlay. It did not do anything.
1
2
1.7k
Dec ’25
Effect liquid glass on app icon
Why my app icon doesn't have effect liquid glass on ios26. My team dev still not upgrade to xcode26, so I have to export icon for them. And I don't see the effect like stroke of the detail.
Topic: Design SubTopic: General
1
0
782
Oct ’25
@State variable returns empty despite being set in .onAppear function
With the code below, JSON data is parsed and is stored in the variable data in the .onAppear function, however an empty set of data is passed to the Content view. How can that be fixed so that the JSON data passes to the DataView? struct ContentView: View { @State var data: [Data] @State var index: Int = 0 var body: some View { VStack { DataView(data: data[index]) } .onAppear { let filePath = Bundle.main.path(forResource: "data", ofType: "json") let url = URL(fileURLWithPath: filePath!) data = getData(url: url) } } func getData(url: URL) -> [Data] { do { let data = try Data(contentsOf: url) let jsonDecoded = try JSONDecoder().decode([Data].self, from: data) return jsonDecoded } catch let error as NSError { print("Fail: \(error.localizedDescription)") } catch { print("Fail: \(error)") } return [] } }
17
1
639
Aug ’25
Images added in Reality Composer look darker in AR
I’m working with Reality Composer and noticed that images added directly to a scene appear significantly darker when viewed in AR. This seems different from how other objects in the scene respond to lighting, especially under varying real-world light conditions. Is this expected behavior? Are images treated with a different lighting model in Reality Composer? Is there any recommended way to get more consistent light response for image-based artworks?
Topic: Design SubTopic: General Tags:
1
0
569
Mar ’26
How can a student start learning Apple’s approach to design?
Hello everyone, I'm 14 and absolutely enthusiastic about Apple — not only the products themselves, but the design nuance, the sense that everything has been well thought-out, and even stuff like Fitness+ and the Tips app. I love how much attention Apple pays to making every aspect of the experience feel deliberate and cohesive. My dream is to eventually become an Apple employee, specifically in design (maybe even retail for the beginnin). I know that I am young right now, but I would like to start learning as soon as possible. To you all who have experience with design or anything else, what are a few things or habits one my age should focus on learning to strengthen in the right direction? to maybe reach this dream Any assistance or advice would be greatly appreciated. Thanks! chase
Topic: Design SubTopic: General
2
0
504
Sep ’25
Bug on Settings Search Menu - Showing Always On Display for iPhone 14 Plus
We all know that the feature “Always On Display” is available only on pro models. I checked in iPhone 14 Plus, that feature became visible in “Search” menu under “Settings”. If a user types “Displa”, then the search results show “Always On Display” as a result. When I click on that, it navigates inside “Display and Brightness” and we found no toggle for “Always On Display”. So, displaying the same on search result is a big bug which needs immediate attention from Apple. Users are getting confused whether iPhone 14 plus has that feature or not.. **Possible reason: ** I believe Apple releases iPhone OS versions in a single release each time and must be applying any kind of feature flagging to enable / disable a feature in a version or for a model. The feature flagging might not be working with Settings menu’s Search service or the code is not properly modular.
1
0
416
Jul ’25
iOS 26 Liquid Glass - Without any Blur - Possible?
let glassView = UIVisualEffectView(effect: UIGlassEffect(style: .clear)) glassView.frame = CGRect(x: 100, y: 200, width: 200, height: 400) self.view.addSubview(glassView) Though UIGlassEffect has two variants: .regular and .clear, even the clear one has some blur on the background. Is there a way to do get absolute no blur? Edges still have the glass effect. Apple does this in two places: Camera app: Text magnifier:
Topic: Design SubTopic: General Tags:
0
0
795
Oct ’25
How can I force a function only runs once during the whole app lifecycle?
Hi, I want to generate some sample datas for demonstrating the functions of my app when the app launched. My codes are as followings: func generateSampleData() { let hasLaunchedKey = "HasLaunchedBefore" let defaults = UserDefaults.standard if !defaults.bool(forKey: hasLaunchedKey) { //generate the demo data } defaults.set(true, forKey: hasLaunchedKey) } And I put the func in a view's onAppear modifier. I found every time I go the view, it generates the demo data again, which results in producing a lot of demo data. But I have set the status of the function running in the userdefault. Why did it happen? Best Wishes,
Topic: Design SubTopic: General
2
0
156
Aug ’25
Too large clock size on iOS 26 Lock Screen.
The clock on the lock screen is too big. This is very noticeable on the serif font, the maximum size goes beyond the frame, and rests on the frame of the phone display. (Screenshot 1 & Screenshot 3) This is especially evident if you use the enlarged interface (using the Large Text function), here the time goes completely out of the frame and conflicts with the frame of the phone screen. (Screenshot 2 & Screenshot 4)
Topic: Design SubTopic: General Tags:
3
1
1.1k
Jan ’26
Questions about the Swift Student Challenge
Hello! I've been wondering about how strict the rules are for multilingual content in submissions, and also what I can use as screenshots. There are screens in my app, explained and accompanied by English, that have Chinese text/audio on them. Is this appropriate? Reading the Terms & Conditions says that "All content must be in English", but because multicultural themes are a main point of my app, it seems unavoidable to use other languages. I've attached images that show what I'm talking about: About the screenshots in my submission, am I allowed to show two screenshots side-by-side of a before & after of what an interaction does in one image? It'd look like two phone screenshots right next to each other.
2
0
323
Feb ’26
Liquid glass - precent automatic color changes
I have an app that displays a MapView. While I am in light mode everything is fine. I can scroll around the map and my overlays (made by UIVisualEffectView containing an UIGlassEffect) stay light and look well! As soon as I change my phone to dark mode, depending on what's underneath the buttons (a light residential area or darker wooded areas) some of my buttons change color. But not all, only where it's supposedly lighter or darker underneath. This makes my whole UI look strange. Some buttons bright, some dark. Is there a way to lock a "color" or interfaceStyle to the effects-view? In light mode everything is fine, but in dark mode it just looks super strange.
Topic: Design SubTopic: General Tags:
0
0
1.2k
Sep ’25
Some variable SF Symbols don't work.
Some SF Symbols (wifi for example) render fine with the variable. But many, mostly ones with the circle being variable, do not seem to work. The SF Symbols app shows them rendering with a variable fine. But in code it doesn't work. Am I missing something or is there a reason? var body: some View { HStack { Image(systemName: "01.circle", variableValue: 0.5) Image(systemName: "figure.wave.circle", variableValue: 0.5) Image(systemName: "wifi", variableValue: 0.5) }.font(.largeTitle) } }
Topic: Design SubTopic: General Tags:
1
1
2.1k
Mar ’26
NavigationStack wrong behaviour in iOS 18.3
Hi, Anybody knows will this occurs when using navigationStack at iOS 18.3? The navigationStack not stay at safeareas the code as simple as that: NavigationStack(path: $navManager.path) { VStack { Text("Hello") } .navigationDestination(for: Route.self) { route in switch route { .... } } } .environmentObject(navManager) .environment(logic)
0
0
168
Jun ’25
Stuck in 'Waiting for Review' for a week
It has been 6 days since we submitted our app for review, and the status is still showing “Waiting for Review,” even though the guidelines mention reviews are usually completed within 48 hours. We also contacted support but have not received any response yet. Has anyone else experienced similar delays recently? Any advice would be appreciated.
Topic: Design SubTopic: General Tags:
0
0
40
10h
A Summary of the WWDC25 Group Lab - Design
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.
Topic: Design SubTopic: General
Replies
0
Boosts
0
Views
1.9k
Activity
Jun ’25
CarPlay navigation issue, maximum depth
Hi everyone, I am working on a CarPlay integration, and need open a two level list opened from a root template. However, I am always receiving an error message when opening the 2nd pushed template. To narrow it down not to have an issue with some app specific code I created the CarPlay scene below. I am aware that there is a limit, but two levels I understand are supported on all CarPlay integrations, the maximum seems to be 5. The app is just crashing right after showing the 2nd template. Any ideas? Any hints are much appreciated. Thanks a lot! Regards, Michael class CarPlaySceneDelegate2: UIResponder, CPTemplateApplicationSceneDelegate { // [...] private func createRootTemplate() -> CPListTemplate { let pushToAItem = CPListItem(text: "Push to Template A", detailText: "Level 1 → Level 2") pushToAItem.handler = {[weak self] (pushToAItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateA(), animated: true, completion: { (didPresent, error) in completion() } ) } let section = CPListSection(items: [pushToAItem]) let template = CPListTemplate(title: "Root Template", sections: [section]) return template } private func pushTemplateA() -> CPListTemplate { let pushToBItem = CPListItem(text: "Push to Template B", detailText: "Level 2 → Level 3") pushToBItem.handler = {[weak self] (pushToBItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateB(), animated: true, completion: { (didPresent, error) in completion() } ) } let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion(); } let infoItem = CPListItem(text: "Current Depth", detailText: "2 (Template A)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [pushToBItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template A", sections: [section]) return template } private func pushTemplateB() -> CPListTemplate { let pushToCItem = CPListItem(text: "Push to Template C", detailText: "Level 3 → Level 4") pushToCItem.handler = {[weak self] (pushToCItem, completion) in guard let self = self else { completion() return } self.interfaceController?.pushTemplate( self.pushTemplateC(), animated: true, completion: { (didPresent, error) in completion() } ) } let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion() } let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template A") popOneItem.handler = { [weak self] _, completion in self?.interfaceController?.popTemplate(animated: true, completion: nil) completion() } let infoItem = CPListItem(text: "Current Depth", detailText: "3 (Template B)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [pushToCItem, popOneItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template B", sections: [section]) return template } private func pushTemplateC() -> CPListTemplate { let backToRootItem = CPListItem(text: "Pop to Root", detailText: "Go back to root") backToRootItem.handler = { [weak self] _, completion in self?.interfaceController?.popToRootTemplate(animated: true, completion: nil) completion() } let popOneItem = CPListItem(text: "Pop One", detailText: "Go back to Template B") popOneItem.handler = { [weak self] _, completion in self?.interfaceController?.popTemplate(animated: true, completion: nil) completion() } let infoItem = CPListItem(text: "Current Depth", detailText: "4 (Template C)") let stackCountItem = CPListItem( text: "Stack Count", detailText: "\((interfaceController?.templates.count ?? 0) + 1)" ) let section = CPListSection(items: [popOneItem, backToRootItem, infoItem, stackCountItem]) let template = CPListTemplate(title: "Template C", sections: [section]) return template } }
Replies
2
Boosts
0
Views
1.9k
Activity
Jan ’26
Spam 4.3 (a)
Hello everyone, I’ve reached out to Apple’s review team multiple times, but unfortunately, I haven’t received any clear or specific guidance on why my app was rejected. My app has been rejected several times with the reason “Spam” under guideline 4.3, and I still don't understand exactly which part of the app is problematic. Even after providing the necessary information about the data, I resubmitted the app, and after a few days, it quickly moved into "In Review" status, but then was rejected within seconds with the same “Spam” message. I have sent over 13 messages asking for specific feedback, and all I get are vague responses saying “It’s spam, refer to 4.3, fix your app, and resubmit.” However, when I review the guidelines, I don’t see any specific reasons for rejection that apply to my app. I’m particularly confused because my app is a VPN, and when I check the guidelines, I see that apps in categories like dating and others are saturated, but VPN apps are not. My app uses completely dedicated servers, and the IP addresses are not found in any other apps. Still, my app keeps getting rejected. If anyone has encountered a similar issue or has any insight into what might be causing this, I would greatly appreciate it if you could provide detailed guidance on what specifically needs to be changed to get the app approved. Thank you!
Topic: Design SubTopic: General
Replies
5
Boosts
2
Views
2.3k
Activity
3w
Always use new animation in Stage Manager, why not?
The brand new animation in Stage Manager greatly reduced dizziness. However, don’t know why it ONLY applies when no window was presented. What would be the problem elsewhere? Stage Manager is one of pretty few motion pictures that annoyed me and forced me to turn on Reduce Motion, or stop using Stage Manager. Big pity… macOS 26.0 (25A5346a) wont use ipad to post…
Topic: Design SubTopic: General
Replies
1
Boosts
0
Views
716
Activity
Sep ’25
iOS26 CarPlay not optimized for Subaru 11.6 inch vertical in infotainment screen
The newest iOS 26 CarPlay upgrade seems more like a downgrade with vehicles from Subaru with the 11.6 inch vertical infotainment display. Such a big screen, but only one widget shows at a time additionally, prior to this iOS update we had three lines of apps on the main page now only two. also to be noted album art size on all music streaming and podcast apps is extremely small about half the size of what it originally was prior to this update yes, I tried turning on and off the screen optimization setting and CarPlay. It did not do anything.
Replies
1
Boosts
2
Views
1.7k
Activity
Dec ’25
Effect liquid glass on app icon
Why my app icon doesn't have effect liquid glass on ios26. My team dev still not upgrade to xcode26, so I have to export icon for them. And I don't see the effect like stroke of the detail.
Topic: Design SubTopic: General
Replies
1
Boosts
0
Views
782
Activity
Oct ’25
@State variable returns empty despite being set in .onAppear function
With the code below, JSON data is parsed and is stored in the variable data in the .onAppear function, however an empty set of data is passed to the Content view. How can that be fixed so that the JSON data passes to the DataView? struct ContentView: View { @State var data: [Data] @State var index: Int = 0 var body: some View { VStack { DataView(data: data[index]) } .onAppear { let filePath = Bundle.main.path(forResource: "data", ofType: "json") let url = URL(fileURLWithPath: filePath!) data = getData(url: url) } } func getData(url: URL) -> [Data] { do { let data = try Data(contentsOf: url) let jsonDecoded = try JSONDecoder().decode([Data].self, from: data) return jsonDecoded } catch let error as NSError { print("Fail: \(error.localizedDescription)") } catch { print("Fail: \(error)") } return [] } }
Replies
17
Boosts
1
Views
639
Activity
Aug ’25
Images added in Reality Composer look darker in AR
I’m working with Reality Composer and noticed that images added directly to a scene appear significantly darker when viewed in AR. This seems different from how other objects in the scene respond to lighting, especially under varying real-world light conditions. Is this expected behavior? Are images treated with a different lighting model in Reality Composer? Is there any recommended way to get more consistent light response for image-based artworks?
Topic: Design SubTopic: General Tags:
Replies
1
Boosts
0
Views
569
Activity
Mar ’26
Figma App Icon Template iOS 26
Where is the Figma App Icon Template mentioned in the Developer session https://developer.apple.com/videos/play/wwdc2025/361?
Topic: Design SubTopic: General Tags:
Replies
0
Boosts
0
Views
407
Activity
Jul ’25
How can a student start learning Apple’s approach to design?
Hello everyone, I'm 14 and absolutely enthusiastic about Apple — not only the products themselves, but the design nuance, the sense that everything has been well thought-out, and even stuff like Fitness+ and the Tips app. I love how much attention Apple pays to making every aspect of the experience feel deliberate and cohesive. My dream is to eventually become an Apple employee, specifically in design (maybe even retail for the beginnin). I know that I am young right now, but I would like to start learning as soon as possible. To you all who have experience with design or anything else, what are a few things or habits one my age should focus on learning to strengthen in the right direction? to maybe reach this dream Any assistance or advice would be greatly appreciated. Thanks! chase
Topic: Design SubTopic: General
Replies
2
Boosts
0
Views
504
Activity
Sep ’25
Bug on Settings Search Menu - Showing Always On Display for iPhone 14 Plus
We all know that the feature “Always On Display” is available only on pro models. I checked in iPhone 14 Plus, that feature became visible in “Search” menu under “Settings”. If a user types “Displa”, then the search results show “Always On Display” as a result. When I click on that, it navigates inside “Display and Brightness” and we found no toggle for “Always On Display”. So, displaying the same on search result is a big bug which needs immediate attention from Apple. Users are getting confused whether iPhone 14 plus has that feature or not.. **Possible reason: ** I believe Apple releases iPhone OS versions in a single release each time and must be applying any kind of feature flagging to enable / disable a feature in a version or for a model. The feature flagging might not be working with Settings menu’s Search service or the code is not properly modular.
Replies
1
Boosts
0
Views
416
Activity
Jul ’25
HDR app icon support
Does iOS 26 support HDR images for app icons to be rendered in High Dynamic Range for Springboard or not?
Topic: Design SubTopic: General Tags:
Replies
0
Boosts
0
Views
199
Activity
Nov ’25
iOS 26 Liquid Glass - Without any Blur - Possible?
let glassView = UIVisualEffectView(effect: UIGlassEffect(style: .clear)) glassView.frame = CGRect(x: 100, y: 200, width: 200, height: 400) self.view.addSubview(glassView) Though UIGlassEffect has two variants: .regular and .clear, even the clear one has some blur on the background. Is there a way to do get absolute no blur? Edges still have the glass effect. Apple does this in two places: Camera app: Text magnifier:
Topic: Design SubTopic: General Tags:
Replies
0
Boosts
0
Views
795
Activity
Oct ’25
How can I force a function only runs once during the whole app lifecycle?
Hi, I want to generate some sample datas for demonstrating the functions of my app when the app launched. My codes are as followings: func generateSampleData() { let hasLaunchedKey = "HasLaunchedBefore" let defaults = UserDefaults.standard if !defaults.bool(forKey: hasLaunchedKey) { //generate the demo data } defaults.set(true, forKey: hasLaunchedKey) } And I put the func in a view's onAppear modifier. I found every time I go the view, it generates the demo data again, which results in producing a lot of demo data. But I have set the status of the function running in the userdefault. Why did it happen? Best Wishes,
Topic: Design SubTopic: General
Replies
2
Boosts
0
Views
156
Activity
Aug ’25
Too large clock size on iOS 26 Lock Screen.
The clock on the lock screen is too big. This is very noticeable on the serif font, the maximum size goes beyond the frame, and rests on the frame of the phone display. (Screenshot 1 & Screenshot 3) This is especially evident if you use the enlarged interface (using the Large Text function), here the time goes completely out of the frame and conflicts with the frame of the phone screen. (Screenshot 2 & Screenshot 4)
Topic: Design SubTopic: General Tags:
Replies
3
Boosts
1
Views
1.1k
Activity
Jan ’26
AṀ / PM Display in Time ?
Hello, You are developing iOS 26. I hope you will fix the issue where the AṀ/PM is missing from the Time Display. Thanks
Topic: Design SubTopic: General
Replies
1
Boosts
0
Views
334
Activity
Jul ’25
Questions about the Swift Student Challenge
Hello! I've been wondering about how strict the rules are for multilingual content in submissions, and also what I can use as screenshots. There are screens in my app, explained and accompanied by English, that have Chinese text/audio on them. Is this appropriate? Reading the Terms & Conditions says that "All content must be in English", but because multicultural themes are a main point of my app, it seems unavoidable to use other languages. I've attached images that show what I'm talking about: About the screenshots in my submission, am I allowed to show two screenshots side-by-side of a before & after of what an interaction does in one image? It'd look like two phone screenshots right next to each other.
Replies
2
Boosts
0
Views
323
Activity
Feb ’26
Liquid glass - precent automatic color changes
I have an app that displays a MapView. While I am in light mode everything is fine. I can scroll around the map and my overlays (made by UIVisualEffectView containing an UIGlassEffect) stay light and look well! As soon as I change my phone to dark mode, depending on what's underneath the buttons (a light residential area or darker wooded areas) some of my buttons change color. But not all, only where it's supposedly lighter or darker underneath. This makes my whole UI look strange. Some buttons bright, some dark. Is there a way to lock a "color" or interfaceStyle to the effects-view? In light mode everything is fine, but in dark mode it just looks super strange.
Topic: Design SubTopic: General Tags:
Replies
0
Boosts
0
Views
1.2k
Activity
Sep ’25
Some variable SF Symbols don't work.
Some SF Symbols (wifi for example) render fine with the variable. But many, mostly ones with the circle being variable, do not seem to work. The SF Symbols app shows them rendering with a variable fine. But in code it doesn't work. Am I missing something or is there a reason? var body: some View { HStack { Image(systemName: "01.circle", variableValue: 0.5) Image(systemName: "figure.wave.circle", variableValue: 0.5) Image(systemName: "wifi", variableValue: 0.5) }.font(.largeTitle) } }
Topic: Design SubTopic: General Tags:
Replies
1
Boosts
1
Views
2.1k
Activity
Mar ’26
NavigationStack wrong behaviour in iOS 18.3
Hi, Anybody knows will this occurs when using navigationStack at iOS 18.3? The navigationStack not stay at safeareas the code as simple as that: NavigationStack(path: $navManager.path) { VStack { Text("Hello") } .navigationDestination(for: Route.self) { route in switch route { .... } } } .environmentObject(navManager) .environment(logic)
Replies
0
Boosts
0
Views
168
Activity
Jun ’25
Stuck in 'Waiting for Review' for a week
It has been 6 days since we submitted our app for review, and the status is still showing “Waiting for Review,” even though the guidelines mention reviews are usually completed within 48 hours. We also contacted support but have not received any response yet. Has anyone else experienced similar delays recently? Any advice would be appreciated.
Topic: Design SubTopic: General Tags:
Replies
0
Boosts
0
Views
40
Activity
10h