Build settings for Mac OSX

J. Landman Gay jacque at hyperactivesw.com
Mon Jul 5 21:59:33 EDT 2010


Steve King wrote:

> In the meantime, does anyone have any further guidance on what I have to put
> in the various OSX standalone builder screen fields (if anything) 

It's a long answer which is why you probably didn't get immediate 
replies. There are lots of uses for plist ("property list") files on a 
Mac, but in this case it stores file data about your application. You 
can think of it as a sort of individualized registry. What Windows 
installers would put into registry entries, OS X stores in a plist file 
inside the application bundle. That's one reason OS X doesn't very often 
need installers. The app can simply be copied to the drive and all its 
file association data comes along with it.

Whenever the file system needs to work with the app, OS X looks at its 
plist to know what icons it uses, its version number and info, what 
files it can open, which files it can create, and other things. What you 
put into Rev's plist fields determines a lot of this. Your best bet for 
now is to let Rev generate the plist for you, after you fill in the fields.

Working down the window:

Build for Universal if you want all OS X users to be able to run your 
app. If you're building for a few friends and you know they all use 
Intel Macs, then you can build for Intel-only, which saves a lot of disk 
space.

The application icon should be one you create in an icon editor and save 
in .icns format. This is the icon your users will see on the desktop. If 
your app creates document files, then you should assign a document icon 
too. If you don't, users will see a text file icon as a default for any 
files your app makes.

Ask and answer dialogs on OS X display a small application icon at the 
left side. You need to create these according to strict size guidelines 
(see gRevAppIcon and gRevSmallAppIcon in the dictionary) and store them 
as hidden images in your stack. Put the image IDs in these fields or use 
the selector to choose them from your stack images. You can leave these 
fields blank if you want. If you do that, there will be no icons in the 
dialog boxes. That breaks OS X rules, but most users probably won't notice.

The remaining fields, except for the signature and document type, should 
be self-explanatory. The name is your app name, the short version is the 
numerical version only ("1.0.4") and the long version includes the name 
("MyApp 1.0.4"). The Get Info string is what users see when they open 
the Mac equivalent of the Properties dialog: you can put anything here, 
but usually I put the long version in there too. Rev fills out the 
copyright notice pretty well for you, but you usually need to add your 
company name to it.

The Bundle Identifier is a string that identifies your company and 
product according to a strict rule order that looks a bit like a reverse 
domain name. It generally starts with "com" if you're a company, 
followed by your company's name, followed by the product name. There 
should be no spaces and no capitals. My identifier for Zygodact is 
"com.hyperactivesw.zygodact". There should be 3 parts separated by 
periods. You can abbreviate or alter your company name slightly if you 
want to; the important part is that you are consistent in using the same 
identifier name for every app you create. The Finder uses this info to 
track and catalog your app in various ways.

I left signature and document type for last because they need 
explanation, so back up to the middle of the window.

OS X uses 4-character strings to identify the app and its documents. The 
application string is called its signature. It can be anything you want, 
but it must be unique from any other OS X app. For this reason, Apple 
keeps a registry of application signatures, and if you plan to 
distribute your app commercially you need to apply for one. It's free, 
you just need to get into the database. This assures you that your app 
won't be mistaken for a different one on someone's machine and that your 
app will retain all its unique icons and be associated with the correct 
files. There are a few rules, but basically you need to stick to 
mixed-case 4-character strings. There's more on Apple's registration 
page: <http://developer.apple.com/datatype/index.html>

If you don't plan to distribute commercially then you can invent any 
4-character signature you want, and just hope that anyone else who runs 
your app won't already have an app installed with the same signature. 
Keep your signature mixed-case; Apple reserves all-cap and all 
lower-case for itself. For example, the signature I registered for 
Zygodact is "ZygD". You can see examples of various app signatures if 
you google it.

The document type does not need to be registered. You can make up your 
own, or use an existing type. You can also assign several types if your 
app can handle them (i.e., all image types, for example.) If your app 
creates text files, then use TEXT as the type and "txt" as the 
extension. If it creates stacks, you can use Rev's stack type: RSTK, 
with extension "rev". Or you can make up your own type. It doesn't much 
matter, but your scripts need to set the same stackfiletype or filetype 
before writing to disk, otherwise the files you create won't match your 
plist. If your app doesn't make any files, you can just leave the 
document type blank. It won't be used.

Having said all that, the latest version of OS X is doing away with 
these codes. You still need them for users on older Macs though, and if 
they exist the latest OS X will also use them. Trivia here, if you are 
interested: 
<http://www.appleinsider.com/articles/09/09/22/inside_snow_leopards_uti_apple_fixes_the_creator_code.html>

I've put a screen shot of the Zygodact OS X standalone settings here for 
reference: <http://jacque.on-rev.com/extras/zygoSettingsExample.png>

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com



More information about the use-livecode mailing list