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.
Requirements for building locally:
- Ruby 3
- Xcode 16
Install dependencies:
$ pod install
Open the project in Xcode:
$ open KyanBar.xcworkspace
You can now build and run the app in Xcode.
It's 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 15 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
The project uses Sparkle for updates. Here's the docs on how to create an update: https://sparkle-project.org/documentation/