This is a fork of Mastonaut by @brunophilipe, whose original marketing page you can still look at here.
To use it, you probably want a pre-built release. The current one is 1.5 and can be downloaded here.
This is purely a hobbyist effort, so I can't really promise anything. We can look back at the road so far:
April 2022: the code was made open-source
August 2022: this fork's first minor release
November 2022 through January 2023: on average one release per month
These are instructions for if you want to tinker with the code.
The following instructions assume Xcode 14.1 on macOS 13.0.1.
-
Copy the file
userspecific.template.xcconfig
touserspecific.xcconfig
, and open that file. -
Set
MASTONAUT_BUNDLE_ID_BASE
to a bundle ID for the app that works with your Apple ID. -
Enter your Team ID instead of the
xxxxxxxxxx
next toDEVELOPMENT_TEAM
(It looks something like74J34U3R6X
). -
Do not check in your changes to
userspecific.xcconfig
!
That should be it.
The bundle ID base is used because Mastonaut consists of multiple projects, which use an app group to share information. Given a MASTONAUT_BUNDLE_ID_BASE
of com.example.mastonaut
and a DEVELOPMENT_TEAM
of ABCDEFGH
:
- the main app will be
com.example.mastonaut.mac
- the macOS Sharing extension will be
com.example.mastonaut.mac.QuickToot
- the Core Data database shared by the two above will be stored in
~/Library/Group Containers/ABCDEFGH.com.example.mastonaut/Mastonaut/Mastonaut.sqlite
- Keychain credentials will be prefixed
ABCDEFGH.com.example.mastonaut.keychain
Most of the Acknowledgments in the about box are
auto-generated from Cocoapods dependencies. For this, you
need to have the cocoapods-acknowledgements
plug-in
installed, and then just run pod install
.
Additional dependencies come via SwiftPM and Git submodules, and those get added manually in code.
-
Make sure
MastodonKit
is fetched as a git submodule. (For example, Xcode's git clone functionality seems to not do this!) This appears to be a custom fork called 3.0 that's significantly different from the public MastodonKit. So don't try to change the project to pull the regular MastodonKit using CocoaPods. -
The
.xcconfig
will auto-append.mac
and other suffixes to theMASTONAUT_BUNDLE_ID_BASE
, so you should pick something likecom.example.mastonaut
(replacingcom.example
with whatever reverse domain name you have set up for your account). -
If you don't know your Team ID, go into Signing & Capabilities in your project and select your team, then your UI will show it under 'App Groups'. Then revert the project file so it will use the setting from the
xcconfig
and you don't have a lurking change in your checkout. -
If you're using a personal developer ID and get an error like
Personal development teams, including "Your Name Here", do not support the Push Notifications capability.
, you may have to go Signing and Capabilities and delete the "Push Notifications" capability by clicking the little trash can next to it. Do not check in this change.