bcddcf226b | ||
---|---|---|
.github | ||
AppShared | ||
CoreDataStack | ||
CoreDataStackTests | ||
Localization | ||
Mastodon | ||
Mastodon.xcodeproj | ||
Mastodon.xcworkspace | ||
MastodonIntent | ||
MastodonSDK | ||
MastodonTests | ||
MastodonUITests | ||
NotificationService | ||
ShareActionExtension | ||
.gitignore | ||
LICENSE | ||
MastodonSDK.xctestplan | ||
Podfile | ||
Podfile.lock | ||
README.md | ||
crowdin.yml | ||
swiftgen.yml | ||
update_localization.sh |
README.md
Mastodon
Requirements
- Xcode 12.5+
- Swift 5.3+
- iOS 14.0+
Setup
We need the latest version of Xcode from App Store. And use Cocoapods for dependency management.
CocoaPods
For the Intel Mac
sudo gem install cocoapods
sudo gem install cocoapods-keys
pod install
For the M1 Mac
sudo gem install cocoapods
sudo gem install cocoapods-keys
# pod install may not works on M1 Mac. Fix by install ffi
# ref: https://github.com/CocoaPods/CocoaPods/issues/10220
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install
Start
- Open
Mastodon.xcworkspace
- Wait the Swift Package Dependencies resolved.
- Check the signing settings make sure choose a team. More info…
- Select
Mastodon
scheme and run it.
Contributors
The app require the App Group
capability. To make sure it works for your developer membership. Please check AppName.swift file and set another unique groupID
and update App Group
settings.
The app is compatible with toot-relay APNs. You can set your push notification endpoint via cocoapod-keys.
Acknowledgements
- AlamofireImage
- AlamofireNetworkActivityIndicator
- Alamofire
- CommonOSLog
- CryptoSwift
- DateToolSwift
- DiffableDataSources
- DifferenceKit
- FLAnimatedImage
- FLEX
- FPSIndicator
- Fuzi
- Kanna
- KeychainAccess
- Kingfisher
- MetaTextKit
- Nuke-FLAnimatedImage-Plugin
- Nuke
- Pageboy
- PanModal
- SDWebImage
- swift-collections
- swift-nio
- SwiftGen
- SwiftUI-Introspect
- SwiftyJSON
- Tabman
- Texture
- ThirdPartyMailer
- TOCropViewController
- TwitterProfile
- UITextView-Placeholder
License
This project is released under the GPL-3 License.