brew install --cask doughnut
Doughnut is a podcast client built using Swift. The design and user experience are inspired by Instacast for Mac which was discontinued in 2015. After experimenting with alternate user interface layouts, I kept coming back to the three column layout as most useable and practical.
Beyond the standard expected podcast app features, my goals for the project are:
- Support an iTunes style library that can be hosted on an internal or network shared drive
- Ability to favourite episodes
- Ability to create podcasts without a feed, for miscellaneous releases of discontinued podcasts
Previously Doughnut was built on top of Electron which worked ok, but using 200+ MB for a podcast app, even when it's minimized felt very poor. Doughnut is now written as a 100% native MacOS app in Swift.
-
Xcode 12.2+, latest stable release is recommended, but not required.
-
Install SwiftLint.
brew install swiftlint
git clone [email protected]:dyerc/Doughnut.git
cd Doughnut
open Doughnut.xcodeproj
-
Debug
configuration can be directly built once Xcode finishes fetching all the packages. -
To build for
Release
configuration, update the code signing configurations inConfigs/DoughnutCodeSigning-Release.xcconfig
to desired values, or switch to the ad-hoc configurations withinConfigs/Doughnut-Release.xcconfig
.