Livecode Wiki
Advertisement

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 Mac App store. These insights come from 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 macOS.
  • Secondly, you will have to join the Mac Developer Program or iOS Developer Program. 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.
  • Third, before you begin the process it is key to read over all the guidelines and legal documentation.
  • Fourth, 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 SpecialFolderPath function and the TempName function to safely locate these directories. Writing to any other directories without the user choosing is prohibited. 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[]

The Application Bundle ID follows this 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. 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. 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. Read these documents and follow them, you should be able to successfully digitally sign your application.

To help you along, there is an 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.
Signing1

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.

Signing2

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.

Advertisement