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

New emoji size is too big!
Hello Apple… used to love my phone and your company… not so much with this God awful new emoji update… Just why? They are giant, we can see them from Alaska, the whole Keyboard is not user friendly at all. It takes me (and reading the feedback from other people - Im not the only one with this problem) ages to find the one I want to use, even with the group icons on the bottom… no, they don’t help. I always ether miss type or just don’t use at all. It takes extra time to use emoji now so I completely stopped using it which sucks. It’s 2025 where time is precious and no one wants to spend extra seconds looking for emojis on this awful new layout you created. Apple developers used to be good about listing to users feedback, I hope you do it in this case, because this is just absolutely terrible and no, you can’t get used to it. I never write reviews anywhere and thought it would take a bit to get used to it… no no and no. This update is awful, please bring it back to normal size so we don’t waste our time and nerves. Thanks.
Topic: Design SubTopic: General
2
0
2.2k
Mar ’25
Set the ui resources for the face id page
I am developing an app that requires calling the iPhone's Face ID module to scan users' facial data. Where can I find Apple's design resources and guidelines for Face ID? The Face ID resources available in Figma are incomplete, and I need more support. For example, in the iPhone settings, the scenario: the UI interface for scanning the user's face to collect data, specifically the circular design in the "How to Set Up Face ID" screen.
1
0
585
Mar ’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
473
Mar ’25
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
1
0
815
Mar ’25
Future iPhone Innovations – Portless & Foldable iPhones
Dear Apple Innovation Team, I have a game-changing iPhone concept and want Apple to explore it first. 📱 iPhone 18 – The First True Portless iPhone No ports – MagSafe 2.0 with high-speed data transfer. Under-display Face ID & Camera – No security compromise. Seamless OLED Display – No interruptions, just pure screen. 📂 iPhone 20 – The Perfect Foldable Crease-free foldable design – Apple perfects what others failed to. Optimized iOS for foldables – Smooth UI & app integration. Apple leads the foldable market. 🚀 Why This Matters: Apple can set a new standard & dominate both innovations. Looking forward to your response. Best, Saksham Sethi
1
0
415
Mar ’25
Align NSMenuItem title to right
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];
Topic: Design SubTopic: General Tags:
0
1
92
Mar ’25
Custom Button Image Sizing Issue
Hello, Im new to Xcode, ive been taking some classes and watching YouTube videos as well as using AI. Im having an issue I cannot find a video on, and AI just keeps screwing up my layout and sizing. Here is the issue, I have a Custom Made Image for my Sign In button, for my log in page on Xcode. The issue being that I can barely see the button and when I go to adjust the size the whole layout gets screwed up. My Logo Image (supposed to take up the top 50% of the screen) takes over the whole Botton of the screen and I loose my username and password Text threads and images. I guess my question is, is this an issue with the size of image ive uploaded or is this an issue with my code? I changed the size of the Image I created in Canva to 900pixles for the width and 300pixals for the height and that did absolutely nothing to my image in Xcode. Below is the Button and Create Account section in my code that seems to be having issues. Ppppplease help me. var body: some View { NavigationStack(path: $navigationPath) { ZStack { // Background image Image("Background1") .resizable() .scaledToFill() .ignoresSafeArea() .clipped() // Main content ScrollView { VStack(spacing: 20) { // Logo Image("DynastyStatDropLogo") .resizable() .scaledToFit() .padding(.top, -160) .padding(.bottom, -30) // Form elements // Username field ZStack { Image("UsernameBar") .resizable() .aspectRatio(contentMode: .fill) .padding() TextField("UserName:", text: $textInput) .padding(.horizontal, 75) .background(Color.clear) .foregroundColor(.red) .focused($focus, equals: .username) .submitLabel(.next) .onSubmit { focus = .password } } .frame(height: 50) .clipShape(RoundedRectangle(cornerRadius: 10)) .padding(.horizontal) // Password field and Forgot Password link VStack(spacing: 20) { ZStack { Image("PasswordBar") .resizable() .aspectRatio(contentMode: .fill) .padding() SecureField("Password:", text: $textInput2) .padding(.horizontal, 75) .background(Color.clear) .foregroundColor(.red) .focused($focus, equals: .password) .submitLabel(.go) .onSubmit { submitForm() } } .frame(height: 50) .clipShape(RoundedRectangle(cornerRadius: 10)) .padding(.horizontal) // Forgot Password link (right-aligned) HStack { Spacer() Text("Forgot Password?") .foregroundColor(.blue) .onTapGesture { navigationPath.append("passwordRecovery") } } .padding(.horizontal, 90) } Spacer(minLength: -110) // SignIn Button - Explicitly showing it HStack { Spacer() Button { submitForm() } label: { Image("signinButton") .resizable() .frame(width: 500, height: 400) } Spacer() } Spacer(minLength: -300) // Create Account (centered) HStack { Spacer() Text("Create Account") .foregroundColor(.blue) .onTapGesture { navigationPath.append("accountCreation") } Spacer() } .padding(.bottom, -10) } } } .onAppear { focus = .username } .navigationDestination(for: String.self) { destination in switch destination { case "dashboard": DSDDashboard() case "passwordRecovery": PasswordRecoveryView() case "accountCreation": AccountCreationView() default: EmptyView() } } .alert(isPresented: $showAlert) { Alert( title: Text("Missing Information"), message: Text("Enter UserName and Password to continue to DSD"), dismissButton: .default(Text("OK")) ) } } } // Function to handle form submission func submitForm() { focus = nil if textInput.isEmpty || textInput2.isEmpty { showAlert = true } else { print("Login with username: \(textInput), password: \(textInput2)") navigationPath.append("dashboard") } } // Enum to manage focus states enum FormFieldFocus: Hashable { case username, password } }
Topic: Design SubTopic: General
1
0
95
Mar ’25
Sketch templates for watchOS 11 / Series 10?
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!
Topic: Design SubTopic: General
0
0
91
Mar ’25
CloudKit not storing or updating public data in real time.
My newly released App Snapshot-Chess-Move, #1592848671, is not creating a public database of chess moves as I expect. What steps do I need to do inorder for my App to be using a public database. It appears as if each of my iOS devices, iPhone, iPad and Mac mini each have a private database of chess moves. When I change my data on the iPad, I expect the new data to appear (with slight delays) on the Mac.. I do not know what to do next. Please help me. This was working in Development mode but not in Production when I submitted my App for release. UPDATE: The cloud data is copied locally to a @Quary variable and updated by using .insert, .delete and .save commands. So, I deleted and re-downloaded my apps on each device, iPad, iPhone, and Mac and obtained the same cloud data. So how do users get the most recent copy of the cloud. Do they need to delete their App and start over? Is there a .update command that can do this updating for me? Also, I pushed the App out of the background and restarted the App to obtain the updated cloud data.
Topic: Design SubTopic: General Tags:
3
0
146
Apr ’25
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
68
Apr ’25
Keyboard dismissed when switching apps
Scenario is when keyboard is opened within the app being developed then switch to other app, for instance, Notes app and create a note to enable keyboard from there. While the Notes app keyboard is active switch back to the developed app the keyboard in it is dismissed. Any thoughts?Thanks
1
0
91
Apr ’25
Getting original LocationNode from hit tested SCNNode
I would like to modify the content of a published LocationNode upon been clicked by the user. But unfortunately: func hitTest(_ point: CGPoint, options: [SCNHitTestOption : Any]? = nil) -> [SCNHitTestResult] returns an SCNNode array from which it is impossible to retrieve the original LocationNode being inserted in order to be able to modify it. Of course the solution would be to either insert the SCNNode corresponding to the inserted LocationNode in a custom class or conversely insert the identifier of the custom object as a tag of the LocationNode, in order to solve the issue. But both options seem impossible to implement. May anyone help me?
1
0
97
Apr ’25
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? https://developer.apple.com/design/human-interface-guidelines/materials
1
0
98
Apr ’25
WebView some of fonts became too small on ios 18.4 and on latest safari
Below is the sample css code where I render a web page in my webview screens fonts became too small after 18.4 and its so hard to read when I launch my app . Any workarounds to address this issue .sg-labels-canvas { font-size: 15px; display: flex; flex-direction: column; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Roboto, sans-serif; font-style: normal; }
Topic: Design SubTopic: General
1
0
94
Apr ’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
131
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
80
Apr ’25
.onAppear and .task code not running
Hi, I have the following code, which for some reason is not working as expected. I have an .onAppear and a .task function that isn't running, which I can see isn't running because nothing is printing. Any guidance would be greatly appreciated. Thank you. struct ContentView: View { var body: some View { ZStack { switch view { case .view1: View1() case .view2: View2() case .view3: View3() case .view4: View4() case .view5: View5() default: SubscriptionStoreView(groupID: "") } } .onAppear() { view = .view6 print("test 1") } .task { print("test") await refreshPurchasedProducts() } } func refreshPurchasedProducts() async { // Iterate through the user's purchased products. for await verificationResult in Transaction.currentEntitlements { switch verificationResult { case .verified(let transaction): print("verified") case .unverified(let unverifiedTransaction, let verificationError): print("unverified") default: print("default") } } } }
Topic: Design SubTopic: General Tags:
6
0
166
Apr ’25