Lion problem report and fix

Richard Gaskin ambassador at fourthworld.com
Fri Jul 22 09:55:03 EDT 2011


Pete Haworth wrote:

> I guess the question here is where on earth are you supposed to put an
> application's files if you want them to be available to all users?  It seems
> like /Library/Application Support makes sense but apparently Apple have
> decided otherwise.  I hope they have published a guideline somewhere that
> explains how to handle this situation.

The rules haven't changed all that much; it's more like a prudent 
closure of a security exposure.

Allowing all processes to write to the system's Library is dangerous. 
Problem solved in Lion.

So what do we do?

Nothing much different from how it's been for the last decade:

Applications: most of an app's files go here, including the executable
               and other components like stack files and externals, all
               the essentials you app needs to run

Preferences:  user-specific settings for the app

Application Support: Apple says, "These are the files that your
               application creates and manages on behalf of the user
               and can include files that contain user data."

The use of App Support is rather loosely defined, its distinction from 
Preferences not exactly clear.  Given that many users are comfortable 
ditching the prefs for an app, I would use App Support for those files 
which are more central to the app than preferences, need to be writable, 
and are not documents.  For example, an RSS reader might puts its URL DB 
and cache in there.

But I must admit I've never yet had a need for it.  It's rather 
specialized; the subset of things that aren't essential to running the 
app (which should be in the bundle) and aren't user-specific settings 
(which should be in Prefs) is slim.

If I did need to use it, I'd make sure the app contained copies of the 
files it needs to put there, checked for them at startup, and if not 
found would write the initial set of files to the user's App Support 
folder.  By putting the smarts for this into the app, all users have the 
same starting point.

In the even slimmer case where you need to have one user's settings 
affect other users, I would consider the Shared folder.  It may or may 
not be what Apple would suggest, but it's a very rare case anyway and 
AFAIK neither OS X, Window, or Linux provides a globally-writable space 
for such things other than the Shared folder or its equivalent on other 
platforms.

--
  Richard Gaskin
  Fourth World
  LiveCode training and consulting: http://www.fourthworld.com
  Webzine for LiveCode developers: http://www.LiveCodeJournal.com
  LiveCode Journal blog: http://LiveCodejournal.com/blog.irv




More information about the use-livecode mailing list