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

Post

Replies

Boosts

Views

Activity

Xcode should include simple themes. Agree??
The themes that bundle with Xcode are all very complex, in the sense that they highlight every token-type a different color, and often use colors that are only slightly different (as there aren't nearly enough distinct colors). Given that these themes are intended to be used, they should be optimized for practicality (not just flexing the power of Xcode). Syntax highlighting is most useful when it distinguishes between things that the programmer distinguishes between conceptually (if I don't know why one variable is blue, while another, apparently similar, variable is red, the highlighting actually makes the code harder to parse correctly). I've also observed a trend towards more minimal highlighting schemes, just generally. I don't have any evidence for this, but assume other people have noticed it too. To offer a concrete example, the following scheme does the usual kinda thing with keywords, comments and literals, but sets everything else to look like plain text, except types, which are gold when they're being declared, and copper otherwise: In my experience, it's notably easier to parse like this, which helps when learning Swift & Co. This is the same theme, applied to a C-family language (Metal): I'm not asking for feedback on the theme specifically. I'm just asking whether you agree that Xcode should bundle a couple of these simpler themes.
4
1
726
Nov ’23
How to attribute/credit Apple Fonts added to app?
My app lets users create things with text, and I've included Apple fonts so users can format their text with them. These were fonts I found in the Font Book app that comes with macOS. My assumption is that these, like the San Francisco font, can be distributed with apps. Do I need to attribute these fonts to their creators and publish a license in my "About" page? If so, where do I find the license(s) and what is the proper way of publishing them? Is there anything else I should know? Please let me know if this should've been posted under a different topic and tag
2
0
201
3w
new developer, need help displaying on screen
brand new newbie developer to xcode. so im doing an api call and getting back data from a mysql database. in the xcode preview window im getting data, but i cant figure out how to tie it to the screen when going into the simulator. i have screen 1 that i want to click a button to go to screen 2 that displays the data. screen one (home screen) comes up okay. cant quite figure out what im doing wrong here. im thinking its either a class issue or something to do with view or something. not sure. ive tried looking at so many different videos and i cant seem to find my answer. Any help would be appreciated. thank you View Controller: import UIKit //import SwiftUI let URL_TOURNAMENT_FETCH = "https://www.thesoftball.com/t2g_mobile_app/mobile_api.php" class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func onEmailButtonPressed(_ sender: Any) { UIApplication.shared.open(URL(string: "mailto:[email]")! as URL, options: [:],completionHandler: nil) } /* @IBAction func FetchTournButton(_ sender: Any) { UIApplication.shared.open(URL(string: "https://www.thesoftball.com/t2g_mobile_app/mobile_api.php")! as URL, options: [:],completionHandler: nil) } */ @IBAction func ViewTournamentButton(_ sender: Any) { // the following is a popup let alertController = UIAlertController(title: "Welcome to My First App", message: "Hello World", preferredStyle: UIAlertController.Style.alert) alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil)) present(alertController, animated: true, completion: nil) } @IBAction func account_button_pressed(_ sender: Any) { UIApplication.shared.open(URL(string: "https://www.thesoftball.com")! as URL, options: [:],completionHandler: nil) } /* struct viewDidLoadModifier: viewDidLoadModifier { @State private var didLoad = false private let action: (() -> void)? init(perform action) { } } */ } ContentView (preview works in this) import SwiftUI struct ContentView: View { @StateObject var viewModel = ViewModel() var body: some View { NavigationView{ List{ ForEach(viewModel.courses,id: \.self) { tournament in HStack { Image("") .frame(width: 5, height: 120) .background(Color.orange) VStack { Text(tournament.name).bold() Text(tournament.dates) Text(tournament.datee) Text(tournament.location) // Text(course.location) // Text(course.message) // .bold() } } .padding(0) } } .navigationTitle("Tournaments") // .onAppear { viewModel.fetch()} .onAppear(perform: viewModel.fetch) } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }
0
0
91
1d
How to animate NavigationSplitView's detailView column.
Having a traditional 'NavigationSplitView' setup, I am looking for a way to animate it the same as the sidebarView, where there is a button to toggle and it animates by sliding out from the right side of the view, however the closest I have gotten was manipulating the 'navigationSplitViewColumnWidth' but that always results in the view instantly appearing / disappearing. I am using SwiftUI for a MacOS specific app. Here is just a general idea of what I am currently doing, it is by no means a reflection of my real code but serves the purpose of this example. struct ContentView: View { @State private var columnWidth: CGFloat = 300 var body: some View { NavigationSplitView { List { NavigationLink(destination: DetailView(item: "Item 1")) { Text("Item 1") } NavigationLink(destination: DetailView(item: "Item 2")) { Text("Item 2") } NavigationLink(destination: DetailView(item: "Item 3")) { Text("Item 3") } } .navigationTitle("Items") } detail: { VStack { DetailView(item: "Select an item") Button(action: toggleColumnWidth) { Text(columnWidth == 300 ? "Collapse" : "Expand") } .padding() } } .navigationSplitViewColumnWidth(columnWidth) } private func toggleColumnWidth() { withAnimation { columnWidth = columnWidth == 300 ? 0 : 300 } } } struct DetailView: View { var item: String var body: some View { Text("Detail view for \(item)") .navigationTitle(item) .padding() } } @main struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } }
1
0
265
1w
Zoom in
Hii apple! What about zooming with 2 fingers without making a screenshot to zoom it!! I will love to make a pattent about it!!! Everywhere we ad on the iphone should we zoom in with 2 fingers!!! love to hear from ya
1
0
258
1w
code object is not signed at all In subcomponent ...
I'm a newbie in Mac development and Xcode. Trying to revive an old cross-platform open source project of mine and to continue its development on Xcode. A new project setup was created using CMake. Managed to compile the project with the required dependencies outside Xcode. If I try to build the project in Xcode, the only error is: Command CodeSign failed with a nonzero exit code Details: ... zzzz.app code object is not signed at all in subcomponent ... Found a similar question in this forum: https://forums.developer.apple.com/forums/thread/701261 Tried to follow the recommendations there, but without success. The subcomponent in question is simply text files (xpm) which are used by the application during runtime, and are supposed to be copied in the app/Contents directory Will appreciate any help Further details on the setup: (Signing and Capabilities): Signing is automatic; Team: "None"; Bundle identifier: empty Signing certificate: "Sign to run Locally" (Build phases): Tried to check "Code Sign on Co..." - no difference If I check "Copy only when installing" - it builds fine, yet it is not copying my resource files in my zzzz.app/Contents directory Xcode Version 15.3 (15E204a) The project is in GitHub
0
0
248
1w
Compliance with Apple Policy Guidelines: Account Deletion vs. Deactivation Option
According to Apple's policy guidelines, if my mobile app includes a feature for creating user accounts, I must also provide an option for users to delete their accounts. However, in my app, account creation grants access to other enterprise accounts. Is it acceptable to offer an option to inactivate the user account instead of deleting it, in order to comply with these guidelines? https://developer.apple.com/support/offering-account-deletion-in-your-app/
0
0
229
2w
*Please bring back OG live wallpapers!*
Please bring back live wallpapers from previous iPhone models. I have an iPhone 8plus & I have the beautiful purple smoky live wallpaper. I was so obsessed with how pretty it looked when live but now it’s just the pic of the purple smokiness and no live movement. ): I would also like to point out that I cannot change my home-screen wallpaper without having to change my lock screen as well! What a bummer really bc i would at least like to keep the purple post-live wallpaper as my Lock Screen and be able to change my Home Screen!
1
1
245
2w
Sheet Presentation
Hi, would appreciate based on my implementation how can I control the dimmed effect of sheet presentation on iOS 17 later. Here is my sample implementation: struct ContentView: View { @State private var present = true var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) Text("Hello, world!") } .padding() .sheet(isPresented: $present, content: { ContentView2() .modifier( SheetModifier( dismissDisabled: true, detents: [.medium, .large], dragIndicator: .hidden ) ) }) } } #Preview { ContentView() } struct SheetModifier: ViewModifier { var dismissDisabled: Bool var detents: Set<PresentationDetent> var backgroundInteraction: PresentationBackgroundInteraction var dragIndicator: Visibility var cornerRadius: CGFloat init( dismissDisabled: Bool = false, detents: Set<PresentationDetent>, backgroundInteraction: PresentationBackgroundInteraction = .automatic, dragIndicator: Visibility = .automatic, cornerRadius: CGFloat = 20 ) { self.dismissDisabled = dismissDisabled self.detents = detents self.backgroundInteraction = backgroundInteraction self.dragIndicator = dragIndicator self.cornerRadius = cornerRadius } func body(content: Content) -> some View { content .background(.clear) .interactiveDismissDisabled(dismissDisabled) .presentationDetents(detents) .presentationBackgroundInteraction(backgroundInteraction) .presentationDragIndicator(dragIndicator) .presentationCornerRadius(cornerRadius) } }
0
0
209
2w
Dock issues in multiple screens after Sequoia update.
Hi there, I updated my MacBook Pro M2 to Sequoia today, and the dock does not move from one screen to another anymore. My work setup involves four screens, including my MacBook, which is now experiencing this dock issue. Also, I would love to display the dock on all monitors if possible.
1
0
261
3w
Apple Maps Pins in Custom Map
I have been developing an app that includes some pinned locations. These are displayed on a map, and currently have the standard pins and SF Symbol pins. A few of the locations have a special symbol on Apple Maps, but the same symbol is not avalable in SF Symbols. I was wondering if it is possible to use the pins, other than the standard red, from Apple Maps.
0
0
246
3w
SF Symbol License
Hi all, I am a UI/UX designer working on several commercial projects, and I have a few questions that I need you to answer: Can I use the icons from your SF Symbols set in my application? This is a SAAS application and is used on various platforms such as macOS and Windows. Is SF Symbols only allowed for use in applications running on Apple platforms? Meaning, if my application is used on a MacBook or iPhone, am I allowed to use your icon set? If usage is not permitted on platforms other than Apple’s, how can I legally use them on those platforms? Does Apple sell licenses for using SF Symbols on other platforms? If so, what is the cost? Looking forward to your response.
1
0
338
3w
Guideline 4.3(a) - Design - Spam
尊敬的苹果审核官 您好 1.我们按照审核要求,这次提交审核中我们重新建了一个Xcode 项目,重构了代码功能及结构,删除了没用到的第三方库,图片资源、功能模块。 2.好多之前没用到的第三方库,资源已经被删除掉了,我们不明白为什么还会有 4.3 的审核意见,希望苹果审查官给一些详细改进意见。 3.为了能上线苹果市场,我们已经花费大量的精力,时间在配合更正 一些产品功能,开发人员加班加点的弄了好几周时间,希望审查官能给一些明确的改进意见,非常感谢。 4.期待digibuy应用能早日的审核上线,不枉费大家的共同努力。
0
0
306
3w