Skip to content

Latest commit

 

History

History
104 lines (75 loc) · 3.32 KB

File metadata and controls

104 lines (75 loc) · 3.32 KB

Snap Distribution Guide

Overview

This guide explains how to build and distribute the Snap macOS application. The app has been successfully built and packaged for distribution.

📦 Available Distribution Packages

Ready for Distribution:

  • App Bundle: build/Release/snap.app - The signed application bundle
  • DMG Package: build/Snap-1.0.dmg - Disk image for easy distribution
  • Archive: build/snap.xcarchive - Xcode archive for further distribution options

🚀 Quick Distribution

For Users:

  1. Download Snap-1.0.dmg
  2. Double-click to mount the disk image
  3. Drag snap.app to your Applications folder
  4. Launch the app from Applications

First Launch Notes:

Since this app is signed with a development certificate, users may see a security dialog on first launch. To bypass this:

Option 1: Right-click the app and select "Open" Option 2: Go to System Preferences > Security & Privacy > Allow the app after the first launch attempt

🔧 Build Scripts

Main Build Script: build_distribution.sh

Builds, signs, and packages the app for distribution:

./build_distribution.sh

Notarization Script: notarize.sh

For enhanced distribution trust (requires Developer ID Application certificate):

./notarize.sh your.apple.id@email.com

📋 App Details

  • Bundle ID: nico.wang.snap
  • Version: 1.0
  • Minimum macOS: 15.4
  • Architecture: ARM64 (Apple Silicon)
  • Permissions: Microphone access for sound detection
  • Signing: Development certificate with hardened runtime

🔐 Code Signing Status

  • Signed: App is properly code signed
  • Entitlements: Microphone access configured
  • Hardened Runtime: Enabled for security
  • ⚠️ Gatekeeper: Development signing (requires user approval)

🌟 For Professional Distribution

To avoid user security warnings and enable seamless installation:

  1. Get a Developer ID Application certificate from Apple Developer Program
  2. Update the build script to use developer-id instead of development
  3. Notarize the app using the notarization script
  4. Distribute the notarized DMG

📁 File Structure

build/
├── Release/
│   ├── snap.app/                 # Main application bundle
│   ├── DistributionSummary.plist # Export summary
│   └── Packaging.log             # Build log
├── Snap-1.0.dmg                 # Distribution disk image
├── snap.xcarchive/              # Xcode archive
└── ExportOptions.plist          # Export configuration

🛠 Manual Distribution Steps

If you need to rebuild or modify the distribution:

  1. Clean build: rm -rf build/
  2. Run build script: ./build_distribution.sh
  3. Verify signing: codesign --verify --verbose build/Release/snap.app
  4. Test installation: Mount DMG and test on another machine

📞 Support

The app includes proper entitlements for microphone access and will request permission on first use. Users can manage permissions in System Preferences > Security & Privacy > Privacy > Microphone.

✨ Features Included

  • Modern macOS app bundle
  • Proper code signing
  • DMG installer
  • Icon and branding
  • Microphone permissions
  • Hardened runtime security

Ready for Distribution: The Snap-1.0.dmg file is now ready to be shared with users!