Home Guides Interfaces Troubleshooting

Console Applications

App Wrapper 4.3 adds support for signing and Notarizing console, command line or Terminal applications. While the process is similar it is not the same and there are several things that need to be paid attention too.

Xojo made Console applications

Xojo made console applications quite often produce a "Resources" folder. Neither Apple's code sign, Apple's GateKeeper or Apple's Notarization service like these folders. App Wrapper will push them out of the way to do the code signing, and ignore them for Notarization, it requires manual removal for Gate Keeper. If you can deliver your application without this folder, then do so. If your application requires this folder, provide instructions to the customer on how to activate the product, then rename or move back the folder.

Console applications do not have Notarization tickets stapled to them

At the time of working on this feature and writing this document, the staple tool will fail when being asked to attach the ticket to the application. Instruct your customers to be connected to the internet when activating the application, as internet access is required for Gate Keeper to look up the Notarization ticket.

Double clicking the application will fail

When trying to run a Notarized console application, there are two ways.

  1. Execute the application from Terminal, either by typing in the path or by dragging the file into the Terminal window and pressing enter.
  2. Double clicking the application will fail, however a trip to "System Preferences" → "Security & Privacy" should reveal an "Open application xxx" button, which when clicked will open the application.

How to use

  1. Drag the main executable file into App Wrapper and configure the various settings for it. Bundle Contents options will have no effect.
  2. Any additional executable files, libraries, frameworks and such go into the list "Additional libraries that need to be code signed and included" on the "General" pane of App Wrapper.
  3. Any non-executable files, such as read mes, images, data files, fonts etc, need to be added to the "Additional Files" list on the "Packing" pane.
  4. Now wrap, pack and submit the application.
  5. If Zip is chosen, two zip files are created, one which is used for Notarization only (contains only executable files) and the zip file you can distribute once Apple have approved your application. The zip for NotarizationOnly can be deleted once it has been submitted to Apple.

The reason App Wrapper splits up executables and other files is because we noticed that Notarisation would fail when non-executable files were included in the Zip file. DMG didn't appear to have the same requirements.