Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When writing Cocoa Applications for MacOSX, you have the choice of either having a custom preference dialog, or using the to manage your preferences.

Functionality wise, there is no difference at all between the two (apart from the fact that preferences in the can be accessed when your app is not running).

Which solution do you use and why?

share|improve this question
up vote 2 down vote accepted

The answer to that, quite simply, is "It depends."

But as a general rule of thumb; I use System whenever the application doesn't have its own user interface, or the settings affect related tools and helper apps (command line or otherwise) without their own user interface.

Generally speaking, tho'; as far as it can be avoided, I personally avoid extending System unless it truly is a system setting, or something fairly similar.

Settings that affect multiple applications or multiple users are good candidates; especially the latter.

share|improve this answer That's an iOS thing. On the Mac it's called System

On the Mac, you should write your own preferences dialog (or use one of the third party frameworks that do them for you).

The exception is if your app does something when it isn't running (e.g. you're a front-end for a database server, which runs in the background), or if you don't have a UI that includes a menubar (e.g. you're a system utility that augments other apps).

This is different to iOS, where app settings can go in

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.