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

Multi layer delegate table missing
I recently detected a special crash on 18.0, 18.1, 18.1.1, 18.2,18.3 which cannot be repeated, and the page logs are related to the keyboard, is there any idea to deal with this problem? Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x00000000 at 0x0000000000000000 Crashed Thread: 0 CrashDoctor Diagnosis: Application threw exception NSInternalInconsistencyException: Multi layer delegate table missing. Thread 0 Crashed: 0 CoreFoundation 0x000000018fa487cc __exceptionPreprocess + [ : 164] 1 libobjc.A.dylib 0x000000018cd1b2e4 objc_exception_throw + [ : 88] 2 Foundation 0x000000018ee188d8 _userInfoForFileAndLine 3 UIKitCore 0x0000000192ee8074 -[UIView _multiLayerDelegatesTableCreateIfNecessary:] + [ : 208] 4 UIKitCore 0x0000000192ee80c4 -[UIView _registerMultiLayerDelegate:] + [ : 36] 5 UIKitCore 0x00000001924f74c0 -[_UIPortalView setSourceView:] + [ : 132] 6 UIKitCore 0x000000019325b6bc -[_UIPortalView initWithSourceView:] + [ : 68] 7 UIKitCore 0x0000000193283ea4 -[_UITextMagnifiedLoupeView initWithSourceView:] + [ : 444] 8 UIKitCore 0x000000019373461c +[UITextLoupeSession _makeLoupeViewForSourceView:selectionWidget:orientation:] + [ : 84] 9 UIKitCore 0x00000001937347bc +[UITextLoupeSession _beginLoupeSessionAtPoint:fromSelectionWidgetView:inView:orientation:] + [ : 304] 10 UIKitCore 0x0000000192dc0ce0 -[UITextRefinementTouchBehavior textLoupeInteraction:gestureChangedWithState:location:translation:velocity:modifierFlags:shouldCancel:] + [ : 1756] 11 UIKit 0x0000000249cc89e0 -[UITextRefinementTouchBehaviorAccessibility textLoupeInteraction:gestureChangedWithState:location:translation:velocity:modifierFlags:shouldCancel:] + [ : 216] 12 UIKitCore 0x00000001935445b4 -[UITextRefinementInteraction loupeGestureWithState:location:translation:velocity:modifierFlags:shouldCancel:] + [ : 124] 13 UIKitCore 0x0000000193543f74 -[UITextRefinementInteraction loupeGesture:] + [ : 548] 14 UIKitCore 0x000000019259eac4 -[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + [ : 128] 15 UIKitCore 0x000000019259e934 _UIGestureRecognizerSendTargetActions + [ : 92] 16 UIKitCore 0x000000019259e6f4 _UIGestureRecognizerSendActions + [ : 284] 17 UIKitCore 0x0000000192251b28 -[UIGestureRecognizer _updateGestureForActiveEvents] + [ : 572] 18 UIKitCore 0x0000000192223724 _UIGestureEnvironmentUpdate + [ : 2488] 19 CoreFoundation 0x000000018f9ea1f4 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + [ : 36] 20 CoreFoundation 0x000000018f9e9f98 __CFRunLoopDoObservers + [ : 552] 21 CoreFoundation 0x000000018fa19028 __CFRunLoopRun + [ : 948] 22 CoreFoundation 0x000000018fa18830 CFRunLoopRunSpecific + [ : 588] 23 GraphicsServices 0x00000001db9f81c4 GSEventRunModal + [ : 164] 24 UIKitCore 0x000000019257eeb0 -[UIApplication _run] + [ : 816] 25 UIKitCore 0x000000019262d5b4 UIApplicationMain + [ : 340] 26 顺丰小哥 0x00000001042c7cc0 main + [main.m : 13] 27 (null) 0x00000001b5406ec8 0x0 + 7335866056
Topic: Design SubTopic: General
0
0
383
Dec ’24
About tvOS Material (design resource)
I noticed a discrepancy between the Material specifications for tvOS on the Developer page and the naming in the Design Resources (Sketch files). Which one should we consider authoritative? Apple developer design web page:https://developer.apple.com/design/human-interface-guidelines/materials design resource(sketch)
Topic: Design SubTopic: General
0
0
56
Apr ’25
Search Function
Dear Developer, Is there a way to create a function to search with inside a text without having to be outside all of the messages? In other words, could I go into one of my contact’s texts and then search specifically inside that message as can be done on Android? This would be such an amazing function And make life so much easier. Thank you.
Topic: Design SubTopic: General
0
0
74
Apr ’25
Guideline 4.3(a) - Design - Spam - automatic rejection
I previously written here, and some advices were to appeal to rejection sending them message describing uniqueness of the app. Nothing is working. In short, i have a vpn app (of course by design shares some concept with other apps that are in the app store). But since the rejection i have completely changed the ui, added built in browser, p2p messenger so users could interact with each other without any interference. The app is completely free with no ads. I thought this is it, there's no way it would reject this time, but... i get a notification with rejection repeating the same old message. I'm extremely frustrated and don't know what to do. Tried changing the logo of the app, the name to "Incognito - Messenger, VPN", app store screenshots. I've already appealed with screenshots describing unique features that other vpn apps don't have, but the message just repeats from app review team. Submission ID: 1a49ee0b-c4e2-4a36-8372-e4d3b9a8b13f Does anybody have an advice what i can do?
3
0
2.0k
Jan ’25
Scrollview and a background image set to scaledToFill....
I've been beating my head against the wall over a scrollview issue where the top and bottom are cut off in landscape mode. Portrait mode - everything runs swimmingly. The moment I flip the iPad on its side, though, I lose about a quarter of the view on the top and bottom. I thought this was something to do with framing or such; I ran through a myriad of frame, padding, spacer, geometry...I set it static, I set it to dynamically grow, I even created algorithms to try to figure out how to set things to the individual device. Eventually, I separated the tablet and phone views as was suggested here and on the Apple dev forums. That's when I started playing around with the background image. Right now I have.... ZStack { Image("background") .resizable() .scaledToFill() .ignoresSafeArea() ScrollView { VStack(spacing: 24) {.... The problem is the "scaledToFill". In essence, whenever THAT is in the code, the vertical scrollview goes wonky in landscape mode. It, in essence, thinks that it has much more room at the top and the bottom because the background image has been extended at top and bottom to fill the wider screen of the iPad in landscape orientation. Is there any way to get around this issue? The desired behavior is pretty straightforward - the background image fills the entire background, no white bars or such, and the view scrolls against it.
3
0
138
Apr ’25
18.2 Beta 22C151 email
Just updated to newest beta of 18.2. The update corrects several major email issues but now I am only able to pull sone of my emails when I open mail. after opening my mail on the 18.2 iPhone 15 pro max I am ablevto pull only 1 message from Xfinity. When I check on my pc using outlook 2016 I am able to pull 18 additional messages. Going back to my iPhone after a half hour the additional mail messages still do not show up even after doing a hard reset of the phone. apologies, but these mail issues need to be resolved. It is bothersome that ios 18 was even released to the public at all with these type of issues.
Topic: Design SubTopic: General Tags:
1
0
750
Dec ’24
Stacked-sheets vs. nav-stack-in-a-sheet for navigation hierarchies on top of a map
I couldn't help noticing that the Maps and Find My apps make extensive use of "sheets stacked on top of each other" to represent its navigation hierarchy, with a "new content comes in from the bottom" orientation instead of a navigation stack with "new content comes in from the right side" oriented transitions. I'm interested in this topic because I have a similar navigation-hierarchy-over-a-map case in my app (with a custom map view though) and I'm torn back and forth between the approach of replicating the "stacked sheets" vs. putting a navigation stack in a sheet, esp. with the navstack approach being way more attainable with the iOS 26 glass design. I couldn't find any guidance for this kind of UI in the Human Interface Guidelines; I'm leaning towards the navstack-approach for my app; but in terms of the behavior of the SwiftUI container views in this scenario it seems a little bit of an uphill path. Any thoughts on what pattern should be preferred for presenting a deep navigational hierarchy on top of a map-like view?
Topic: Design SubTopic: General
1
0
281
Jul ’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
359
Jul ’25
Need Help Moving INRx App to New Developer Account – Design Issue Blocking Submission
Hello Apple Developer Support, We initially uploaded our INRx App on a different Apple Developer account for internal testing purposes. Now, we would like to publish the same app under a new Apple Developer account for production, but we're currently facing a design-related rejection during the review process. We believe the app meets all guidelines, and there were no design issues flagged previously when submitted from the testing account. Could you please help us understand: Why the same app is now being rejected for design issues? Is there a way to resolve this while moving the app to the new account? Any advice or clarification would be greatly appreciated so we can successfully proceed with publishing. Thank you!
Topic: Design SubTopic: General
0
0
129
Aug ’25
How can this be resolved - load_eligibility_plist: Failed to open //private/var/db/os_eligibility/eligibility.plist: Operation not permitted(1)
I'm programming my constraints in my video game, which is working good so far until I ran into my most important interactive storyboard. I have three buttons that move back and forth on the Y position each time they are hit. The buttons Y positions only change to view.safeAreaLayoutGuide.centerYAnchor, constant: 100 or view.safeAreaLayoutGuide.centerYAnchor, constant: 200 or view.safeAreaLayoutGuide.centerYAnchor, constant: 300 The strange part is the button that is in the Y 100 stays visible and I can hit the button that is in the Y 100. The buttons in the Y 200 and Y 300 positions are visible until after one or two hits, then the button that is in Y 300 position disappears, then after another hit or two the button that is in the Y 200 position disappears but the button that is in the Y 100 is still visible. I cleared all my constraints to narrow it down to clear view of the constraints that is causing the problem. I do not think this Log Noise. Below is the error log: load_eligibility_plist: Failed to open //private/var/db/os_eligibility/eligibility.plist: Operation not permitted(1) 1 Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSLayoutConstraint:0x302aa7610 UIButton:0x10c257600.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 100 (active)>", "<NSLayoutConstraint:0x302acb480 UIButton:0x10c257600.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 300 (active)>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x302acb480 UIButton:0x10c257600.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 300 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful. Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSLayoutConstraint:0x302aa7750 UIButton:0x10c257900.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 200 (active)>", "<NSLayoutConstraint:0x302acb5c0 UIButton:0x10c257900.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 100 (active)>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x302aa7750 UIButton:0x10c257900.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 200 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful. Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSLayoutConstraint:0x302aa7890 UIButton:0x10c257c00.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 300 (active)>", "<NSLayoutConstraint:0x302acb700 UIButton:0x10c257c00.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 200 (active)>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x302aa7890 UIButton:0x10c257c00.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 300 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful. 3 Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSLayoutConstraint:0x302aa7610 UIButton:0x10c257600.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 100 (active)>", "<NSLayoutConstraint:0x302acb480 UIButton:0x10c257600.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 300 (active)>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x302acb480 UIButton:0x10c257600.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 300 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful. Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSLayoutConstraint:0x302aa7750 UIButton:0x10c257900.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 200 (active)>", "<NSLayoutConstraint:0x302acb5c0 UIButton:0x10c257900.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 100 (active)>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x302aa7750 UIButton:0x10c257900.centerY == UILayoutGuide:0x3030f0c40'UIViewSafeAreaLayoutGuide'.centerY + 200 (active)>
Topic: Design SubTopic: General
4
0
371
Apr ’25
Guideline 4.3(b) - Design - Spam
hi all, i have dating app, approved in google store, and working website but i cant get approval from apple review team ( Guideline 4.3(b) - Design - Spam) can someone help/suggest how to solve it our app has 2000 clients already
Topic: Design SubTopic: General
1
0
149
Aug ’25
Apple Air Pods Upgrade!
Good evening. I have come up with this amazing and revolutionary idea that is going to change the ent world for the better. I’m a 23 year old Design Engineer from Greece and I would like to come to direct contact with the Apple Design Team, in order to discuss this project and the best case scenario, sell it to you. The foldable iPhone is not a good idea. Its not revolutionary and it’s going to leave a big black mark in Apple history. With my idea, the whole world will see again the greatness of the biggest company in history.
2
0
518
Dec ’24
Gray Shades That Adapt to Dark Mode
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
Topic: Design SubTopic: General
0
0
70
May ’25
Error creating the CFMessagePort needed to communicate with PPT. Type: Error | Timestamp: 2025-02-10 13:43:41.450089-06:00 | Process: junk removal app | Library: UIKitCore | Subsystem: com.apple.UIKit | Category: PPT | TID: 0xf185c
I have completed a code with chatgpt and I am unising the latest version of code. i am also using an m1 MacBook air (2020). would love to know if anyone have resolved this issue. by using the ai to correct the code it disrupts it with something. an incorrect imoout line,but after multiple attempts ai get it right. I have notice that the code shows up on the start meaning run, take some time to load the intro page.
Topic: Design SubTopic: General
1
0
616
Feb ’25
macOS 26 Beta Dark Mode Icons Fallback Removed
Post: In macOS 26 Betas 1–3, the system applied an automatic dark-mode fallback for app icons. This ensured consistency across the Dock and Finder even when developers hadn’t provided dark assets. Since Beta 4, this fallback was removed. As of Beta 7, icons now rely entirely on developer-updated assets. The result is mixed light and dark icons in the Dock, breaking visual consistency and making app recognition slower in dark mode. Observed behavior: • Icons without dark assets are displayed in their original light version. • Some apps (e.g. Final Cut Pro) show a gray border treatment that feels inconsistent with the rest of the UI. • The fallback applied in Betas 1–3 is completely absent. Expected behavior: System should provide a fallback rendering until developers supply proper dark assets, or offer a toggle in System Settings → Appearance (e.g. “Force Dark Icons”). This is still present in Beta 7. Is there any plan to restore the fallback mechanism or provide a user option?
Topic: Design SubTopic: General
0
0
250
Aug ’25