revUp - Updates and news for the Revolution community
Issue 100 | Nov 18th 2010 Contact the Editor | How to Contribute

LiveCode Apps for Mac App Store
A look at what you need to do to get your LiveCode Application submitted to Apple's new Desktop Mac App Store

by Obleo Beck

[Editors Note: There has been a lot of interest lately in the community in building for the new Desktop Mac App Store, with many queries about it in forums and support. I was delighted to be able to persuade one of the pioneers in this area to share his experiences with you. As already confirmed in our company blog post, we will be supporting submissions to this new venue, and are currently testing it ourselves to see if we need to make any changes to LiveCode to smooth your path. So far, it seems you can do everything you need to with the current edition.]

This article is intended to guide you through my experiences in submitting my first Apps to Apples new desktop Mac App store. While I cannot cover every aspect you could face as each company will have different challenges hopefully you will find my experiences useful. How easy you find the process largely depends on how much you followed the human interface design guide in the past for Mac applications. Overall the process is not very hard. There really just some minor adjustments you have to make to your standalone build to allow you to move from deploying to Apple's current store to the Mac App store. I hope I may be able to give you some insight into the process by sharing what I've learned while submitting LiveCode, Intel based Mac applications for the store.

Some key requirements: Firstly, you will need access to an Intel based Mac running the latest build of Snow Leopard. Secondly, you will have to join the paid Mac Developer Program.

I notice many people have gotten the paid Mac Developer Program confused with the paid iOS Developer Program. Both are completely different, each program gives quite different tool sets for submitting applications. The iOS Developer Program gives you everything to deploy Livecode iOS mobile applications for iPod Touch, iPhone and iPad to the iOS App Store. The Mac Developer Program gives you everything you need to deploy Livecode Intel based Apps for Intel based Macs to the Mac App Store. I hope that clears up any confusion about that.

Before you begin the process it is key to read over all the guidelines and legal documentation.

If you have not in the past built and designed your Mac user interface to the Human Interface Guide you will need to start now. Your application needs to look, feel and work like a Mac application. Basically you need to follow the Human Interface Guide as now it is a requirement for acceptance.

Saving Data
If your application writes or saves files, you are limited to where you can save them without letting the user choose. The following are permitted:

  • The temporary folder
  • The cache
  • Application support /Your App Folder
  • Library/Your App ID Folder

If your Application saves Pictures or Movies then you can access also the

  • Pictures folder
  • Movies Folder
  • Music Folder

Use the syntax specialfolder function and the TempName function to safely locate these directories. Writing to any other directories without the user choosing is prohibited. I have created a little demo stack you can download here, to help you identify permitted paths.

Registration Screens
If your application has anti piracy measures, such as; Serial code unlocking licensing popups, nag screens, runs in demo or trial mode, you will have to remove these as they are prohibited. The anti piracy measures will be added by the store.

Your Bundle
All Items that are needed to make the Mac application work must be within the application bundle. Make sure to add all necessary files to the bundle before digital signing. Tampering with the bundle once it is signed will cause it to be unusable and it will not launch.

Application Bundle ID
This follows the format: com.mycompany.myappname where "mycompany" is your company name and "myappname" is where you put your application name. Use no spaces. Also make sure the bundle ID is set for externals and helper applications within your bundle. The Bundle ID must match the one submitted to the Mac store Developer Portal.

Properties
The property list has some new changes that will require you to edit and write your own property list. All the necessary information to do this is in the documentation part of the Mac store developer program. It is really not that hard to do, just follow the documentation.

Application Icons
The minimum required size is 512 x 512. This may require calling your app icon artist to make a new icon to support this larger size.

Intel Only
All Mac Builds Require to be Intel Only. This means no universal or PPC builds at all, this also includes all externals and helper applications located within your application bundle. I found out the hard way about this! All binaries have to be Intel Only. Also the application needs to run on the required OS version.

Digital signing
The tools obtained from your Apple developer program membership do allow for any application bundle to be digitally signed, including LiveCode built ones, as long as you use their installer and again follow all guidelines and legal documents. I found the key is to use the command-line version of the tools that are installed. The full usage of these tools is well documented on the Mac developer site, including examples on how to use them. I recommend you read these documents and follow them, you should be able to successfully digitally sign your application.

To help you along, I have made a helper application called Signing Assistant for LiveCode bundles, which you can download here.

This Signing Assistant gives you a GUI interface to the tools to digitally sign your apps for the Mac app store. The codebase of this app is locked. To use Signing Assistant you need to have joined the Mac developer program, downloaded and installed the tools and added your certificates from the portal to your Mac.

Signing Assistant will check the system for these tools, if they are not found it will fail to work. Here is a little overview of the app.

requirements

The Requirements Tab will check your system to see if this tool is ready to work. If the Tool shows a red flag it means you do not have all the installed requirements.

System: check your system for OSX 10.6.5 or later, if it not installed it will red flag.

Hardware Test: will check if you are using an Intel based mac. If you are not then it will red flag.

Last it will check to see if the toolset needed is installed. If not it will red flag.

app signing

The App Signing Tab

You can digitally sign just the app bundle, just a package or both at the same time.

The Application bundle - allows for you to select your LiveCode bundle.

The Certificate name is the name associated with the developer portal. This must match.
The Certificate will be located in your keychain. It will present you with a security dialog once you hit OK.

Package Name: The Name to give your package (note do not use any spaces, you can use "_" instead of a space.)

Export package To - If you select Package or Both the package will be exported to this location.
Note the Application will sign the bundle and save to the location the Application bundle is located at.

If any field is empty Signing Assistant will exit the process and not sign.

It is not necessary to use this tool, you can instead use the terminal and do it manually. The choice is yours! I hope this helps you understand the submission process, as you can see it is really quite easy if you follow the instructions and guidelines given by Apple.

About the Author

Obleo Beck owns and operates a software & multimedia studio in the midwestern United States working with corporate clients and national brands on multimedia and mobile projects. Uses LiveCode, Unity, and Objective-C.

Main Menu

What's New

Get your RunRevLive.11 Ticket Today