A demo status bar app for macOS:
This is a little app we created for the team at https://kyan.com to access popular services and also to see what's playing on our office jukebox.
It's also acts as a bit of a template for building apps that run in the status bar on macOS. It includes:
- How to adds external links via
NSMenu
andNSMenuItem
- How to add a SwiftUI View as a custom menu item
- How to add a SwiftUI Preview with example data
- How to load remote JSON and render the UI using
Async/Await
- How to load an image with progress using
AsyncImage
- How to add an About pane
- How to add a custom icon for the app
- How to include the Sparkle update library for easy updates
- How to read information from your Info.plist file
The app is written using Swift and SwiftUI and is currently targeting macOS 12 (Monterey) and greater.
- Choose Product -> Archive
- Go to Window -> Organizer
- Choose your app and click Distribute App
- Choose Developer ID from list and then Next
- Choose Upload (to send to Notary service) and then Next
- Once you get a Ready to distribute status
- Choose your app and click Export Notorized App
- Export to
builds
folder in the repo - You can now zip up the app for distribution
./Pods/Sparkle/bin/generate_appcast builds/
This will create an updated appcast.xml
which you can use in the root of the project. You may need to change the enclosure:url
to point to where the application zip has been uploaded to.