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.

Learn about designing great app and game experiences

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Suggestions on macOS and iPad app structure
Building an app to edit the various parameters of digital musical instruments. A typical user would have perhaps max 6 instruments, out of the hundreds of possibilities. Would like to structure the app with a global window, menu, etc which would be a free download. The user could download editor inserts for their particular set of instruments and ignore all of the others. The downloaded editors would show as options in a menu. It seem like more than a widget but less than a library. Building a monolithic app containing all possible editors doesn't seem like an option, but separate full-app editors for each piece of gear doesn't sound right either. Any suggestions out there? Thanks very much Brian
0
0
120
May ’25
.Net MAUI (Windows & Mac)
What is the step-by-step process to run an iOS application paired with the Mac in my MAUI project? I am using Windows with Visual Studio 2022 V17.13.5. Application: Multiplatform; Language: C#; Framework: MAUI 8; Xcode: 16.2; Objective: Identify and fix the issue to allow the application to run correctly.
Topic: Design SubTopic: General
0
0
195
May ’25
Code d’invitation TestFlight
Bonjour à tous, je voudrais savoir comment avance mon dossier sur les applications que j’ai créé,comment puis-je faire? Et sinon quelqu’un connaît-il la Durée exacte quand APPLE envoie le code de vérification pour mes applicationà!???
Topic: Design SubTopic: General
1
0
478
Mar ’25
HotKey support for sandboxed apps
App design: macos, Xcode 16.4, Sequioa 15.5, it is sandboxed Uses: Pods->HotKey for a global hotkey which xcode says "binary compatibility can't be guaranteed" This app is on the Apple Store and supposedly apps on the Apple Store can't use global hotkeys. Someone internally, installed it from the store and the global hotkey works just fine. I'm concerned for two potential problems; I need to find a hotkey library or code that is known to work with a sandbox'd Apple Store app. Why is it working now when everything I have read says it shouldn't.
0
0
143
Jun ’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
140
Aug ’25
Complex Swift Data Relationships...
I am struggling with exactly how to set up SwiftData relationships, beyond the single relationship model... Let's say I have a school. Each school offers a set of classes. Each class is taught by one teacher and attended by several students. Teachers may teach more than one class, but only at one school. Similarly students may attend more than one class, but only at one school. Classes themselves may be offered at more than one school. Can someone create a class for School, SchoolClass, Teacher, and Student with id, name, and relationships... I have tried it unsuccessfully about 10 different ways at this point. My most recent is below... I am struggling getting beyond a school listing in the app, and I'll cross that bridge next. I am just wondering if all the trouble I am having is because I am not smart with the class definitions. And wondering if this is to complex for SwiftData and CoreData is the requirement. This is not a real app, just my way of really trying to get a handle on Swift Data models and Navigation. I am very new to Swift, and will take any and all suggestions with enthusiasm! Thanks for taking the time. import Foundation import SwiftData @Model class School: Identifiable { var id: UUID = UUID() var name: String var mascot: String var teachers: [Teacher] var schoolClasses: [SchoolClass] init (name: String, mascot: String = "", teachers: [Teacher] = [], schoolClasses: [SchoolClass] = []) { self.name = name self.mascot = mascot self.teachers = teachers } class SchoolClass: Identifiable { var id: UUID = UUID() var name: String var teacher: Teacher? var students: [Student] = [] init (name: String, teacher: Teacher? = nil, students: [Student] = []) { self.name = name self.teacher = teacher self.students = students } } class Teacher: Identifiable { var id: UUID = UUID() var name: String var tenured: Bool var school: School? var students: [Student] = [] init (name: String, tenured: Bool = false, students: [Student] = []) { self.name = name self.tenured = tenured self.students = students } } class Student: Identifiable { var id: UUID = UUID() var name: String var grade: Int? var teacher: Teacher? init (name: String, grade: Int? = nil, teacher: Teacher? = nil) { self.name = name self.grade = grade self.teacher = teacher } } }
Topic: Design SubTopic: General Tags:
6
0
772
Jul ’25
NFC innovation
Existing smartphones store multiple NFC card information. When the NFC antenna of the phone is close to the card reader, it is usually necessary to open the APP to select NFC card information or default to one card information to be transmitted to the card reader. It is not possible to quickly select or switch cards among multiple cards. For example, after using the NFC function to swipe the subway card, the phone needs to open the car access control and community access control again. It is necessary to open the mobile NFC card information management APP to select the community access control card and then swipe the mobile NFC access control, which causes inconvenience. (现有的智能手机存储多个 NFC 卡信息。当手机的NFC天线靠近读卡器时,通常需要打开APP选择NFC卡信息或默认一个卡信息传输到读卡器。无法在多张卡之间快速选择或切换卡。例如,使用NFC功能刷完地铁卡后,手机需要重新打开车内门禁和小区门禁。需要打开手机NFC卡信息管理APP选择社区门禁卡,然后刷手机NFC门禁,造成不便。) Divide the smartphone screen into multiple areas, and users can freely define corresponding NFC information for each area. When the screen is turned off and not unlocked, select NFC card information by pressing different screen areas with your fingers. When the mobile NFC is close to the card reader, the selected card information will be transmitted to the reader(将智能手机屏幕划分多个区域,每个区域手机用户可以自由定义对应NFC信息。在熄屏’不解锁的情况下,通过手指按压不同屏幕区域选择NFC卡片信息,手机NFC贴近读卡器时将选择的卡片信息传递给读卡器。) Below, the method will be further explained in conjunction with the accompanying drawings and embodiments. Figure 1 is a schematic diagram of a utility model; Figure 2 is the flowchart of the present utility model; NFC reader, 2. Mobile screen partition, 3. NFC signal in Figure 1. In Figure 2, 1. Press the area of the screen partition with your finger. 2. Place the phone close to the NFC reader. 3. The phone senses the returned NFC signal. 4. The phone detects the pressed area.( 下面结合附图和实施例对方法进一步说明。 图1为实用新型示意图; 图2为本实用新型流程图; 图1中1.NFC读取器,2.手机屏幕分区,3.NFC信号。 图2中1.手指按压屏幕分区的区域2.手机贴近NFC读取器3.手机感应到返回的NFC信号4.手机检测到按压的区域,5.是否检测到手机用户按压区域的动作,6.检测到按压区域,根据按压区域做出匹配相对应的NFC的动作7.选择用户所需的NFC卡8.NFC卡收到信息并发出卡片信息9.NFC读卡器收到NFC卡的信息。) For example, a smartphone user has N NFC virtual cards in their phone. Users can divide the smartphone screen into N areas, distinguished as A area, B area, C area..., each area controls different NFC. When a smartphone user holds down the B area that controls NFC (such as virtual access cards) and brings the phone close to the NFC card reader (such as access control). The mobile phone will sense NFC signals (access control signals), triggering the phone to detect the area that the user is pressing. There are two possibilities. Firstly, if the user's pressing action is not detected, the NFC card corresponding to the default A zone (set as the default here) will be selected. If the user's pressing action is detected and it is detected that the pressing is in Zone B (the partition corresponding to the access card), then the NFC information corresponding to Zone B is triggered. The smartphone receives this message, and the corresponding NFC sends out a card message. The NFC card reader (access control device) receives the message and reacts (door opens).(例如,一智能手机用户手机中有N个NFC虚拟卡。用户可以将智能手机屏幕分为N个区域,分辨为A区、B区、C区······,每个区域分别控制不同的NFC。当智能手机用户按住控制NFC(如虚拟门禁卡)的B区域并将手机靠近NFC读卡器(如门禁)。手机将会感应到NFC信号(门禁信号),触发手机检测用户正在按压的区域。有两种可能性,第一没有检测到用户的按压动作则选择默认的A区(这里把A区设为默认)所对应的NFC卡。第二检测到用户的按压动作并检测出按压的是B区域(门禁卡所对应的分区),则触发B区域所对应的NFC信息。智能手机收到此信息,相对应的NFC发出卡片信息,NFC读卡器(门禁设备)收到信息,做出反应(门打开)。) 图1 image1 图2 image2
Topic: Design SubTopic: General
1
0
396
Sep ’25
unable to optimize App for iPad
I use swiftui to build apps on iPhone and iPad. There is no problem with the iPhone app. The game display is fully shown on iPhone. However, for the iPad, the game display is not shown and the screen goes black. I had to tap the button on the upper left side.(looks like a side view button) After that, the game display is only shown in the left side in a very small size. How can I make the game display fully shown in the iPad?
2
0
138
Apr ’25
IOS 26
H ello there. I just installed IOS 26 on my iPhone 15 Pro Max. But i think i found a Bug with a Widget where you have an overview of all devices and their battery. In IOS 18 when we used the Dark Theme (Dark Icons etc.) this widget was dark aswell (look at the picture) and now in IOs everything is dark except this widget. Its kinda annoying…
Topic: Design SubTopic: General
1
0
282
Sep ’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
285
Aug ’25
Macos26 Tahoé is Hell with "Relocated Items"
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 !!!
Topic: Design SubTopic: General
0
0
674
Sep ’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
418
Apr ’25
glassEffect() in SwiftUI always renders as white
Hi everyone, I’m having trouble getting the new glassEffect() modifier to render correctly in SwiftUI. No matter what I try, it just appears as a solid white background (instead of translucent glass). This happens both in Beta 1 and Beta 2. My setup: • Mac mini (M4 chip) • macOS 26 Beta 2 (Tahoe) • Xcode 26 Beta 2 • Samsung Odyssey G9 57” monitor (super ultrawide) • Using Preview in SwiftUI, I use IOS 26 Beta 2 (not the Simulator) Even when I use Apple’s default demo code like: Text("Hello World") .padding() .glassEffect()
Topic: Design SubTopic: General
1
0
112
Jul ’25