macOS Packaging
Parcel creates macOS application bundles (.app) that can be distributed via DMG images or ZIP archives. The tool handles bundle structure, Info.plist generation, and file permissions. Parcel can create macOS bundles on Windows and Linux platforms.
Bundle Configuration
Common Properties
Application Name:
Display name used for the app display name, as CFBundleDisplayName
.
Currently cannot be localized.
Package Name:
Package name used as a bundle and output dmg file names.
Bundle Properties
Essential bundle metadata that defines how an application appears and behaves on macOS.
Bundle Identifier:
A unique reverse-DNS identifier for the application (e.g., com.Company.AppName
). This must follow Apple's reverse DNS notation guidelines. Avoid special characters except dots and hyphens, and ensure the identifier starts with a letter.
Team ID:
A unique identifier for your Apple Developer account. Using during signing and notarization process, optional otherwise.
App Category:
The application category for macOS and App Store classification. This maps to Apple's public.app-category.*
identifiers.
App Icon:
The application icon in ICNS or SVG format. ICNS files should include multiple resolutions from 16x16 to 1024x1024 pixels. Parcel generates the bundle icon structure from the source file.
Permissions:
System permissions with custom usage descriptions. Each permission requires a usage description that appears in macOS permission dialogs.
Usage descriptions are mandatory; otherwise, the OS may deny access to system resources.
Custom Info.plist Configuration
Parcel supports custom Info.plist files for advanced bundle configuration.
- Create an
Info.plist
file in the project's root directory - Add custom keys and values following Apple's documentation
- Parcel merges custom properties with generated ones
- Existing properties in the custom file take precedence
- Missing properties are automatically added based on project configuration
DMG Creation
Parcel creates DMG installers with a drag-and-drop interface, custom backgrounds, and symbolic links.
WSL2 is required for DMG creation on Windows. ZIP packages can be created without WSL2.
DMG Background:
The background image for the DMG installer in TIFF format.
Parcel uses a fixed DMG window size of 660x422 pixels with the following layout:
- App Bundle icon: positioned at coordinates (180, 170) with 160px icon size
- Applications folder: positioned at coordinates (480, 170) with 160px icon size
- Text size: 12px for icon labels
Icons are positioned from the top left corner to the icon center.
Design background images to accommodate these fixed positions and the drag-and-drop workflow.
DMG customization is currently limited to background images. A more flexible editor is planned—let us know if we need to prioritize it.
ZIP Creation
Parcel maintains executable permissions during ZIP creation. The bundle structure remains intact when extracted on macOS, and applications remain executable without additional steps.
Troubleshooting
Getting Help
For issues not covered here:
- Review Parcel's build logs for error information
- Check the Apple Bundle Programming Guide for bundle requirements