Skip to content

kyan/kyan-bar

Repository files navigation

Kyan Bar

A demo status bar app for macOS:

KyanBar

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.

Local setup

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.

But what does it contain?

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 and NSMenuItem
  • 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.

Build for distribution

  • 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

Updates

The project uses Sparkle for updates. Here's the docs on how to create an update: https://sparkle-project.org/documentation/