2021-01-22 07:27:37 +01:00
# Mastodon
2021-08-02 13:24:46 +02:00
[![CI ](https://github.com/mastodon/mastodon-ios/actions/workflows/main.yml/badge.svg )](https://github.com/mastodon/mastodon-ios/actions/workflows/main.yml) [![Crowdin ](https://badges.crowdin.net/mastodon-for-ios/localized.svg )](https://crowdin.com/project/mastodon-for-ios)
2021-07-31 13:00:00 +02:00
< a href = "https://apps.apple.com/us/app/mastodon-for-iphone/id1571998974?itsct=apps_box_badge&itscg=30200" style = "display: inline-block; overflow: hidden; border-top-left-radius: 13px; border-top-right-radius: 13px; border-bottom-right-radius: 13px; border-bottom-left-radius: 13px; width: 250px; height: 83px;" > < img src = "https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1627603200&h=72b0c8495c2c0af1291efef280c4c2c1" alt = "Download on the App Store" style = "border-top-left-radius: 13px; border-top-right-radius: 13px; border-bottom-right-radius: 13px; border-bottom-left-radius: 13px; width: 250px; height: 83px;" > < / a >
2021-01-22 07:27:37 +01:00
## Requirements
2021-07-27 08:32:57 +02:00
- Xcode 12.5+
2021-01-26 12:33:16 +01:00
- Swift 5.3+
- iOS 14.0+
2021-01-22 07:27:37 +01:00
## Setup
2021-08-02 01:56:41 +02:00
We need the latest version of Xcode from App Store. And use Cocoapods for dependency management.
2021-01-26 12:33:16 +01:00
### CocoaPods
2021-01-22 07:27:37 +01:00
2021-01-26 12:33:16 +01:00
#### For the Intel Mac
```zsh
2021-07-27 08:32:57 +02:00
sudo gem install cocoapods
sudo gem install cocoapods-keys
2021-01-26 12:33:16 +01:00
pod install
```
2021-01-22 07:27:37 +01:00
2021-01-26 12:33:16 +01:00
#### For the M1 Mac
2021-01-22 07:27:37 +01:00
```zsh
2021-07-27 08:32:57 +02:00
sudo gem install cocoapods
sudo gem install cocoapods-keys
2021-01-26 12:33:16 +01:00
# pod install may not works on M1 Mac. Fix by install ffi
# ref: https://github.com/CocoaPods/CocoaPods/issues/10220
2021-01-22 07:27:37 +01:00
sudo arch -x86_64 gem install ffi
2021-01-26 12:33:16 +01:00
arch -x86_64 pod install
2021-01-22 07:27:37 +01:00
```
2021-01-26 12:33:16 +01:00
## Start
1. Open `Mastodon.xcworkspace`
2. Wait the Swift Package Dependencies resolved.
2. Check the signing settings make sure choose a team. [More info… ](https://help.apple.com/xcode/mac/current/#/dev23aab79b4 )
3. Select `Mastodon` scheme and run it.
2021-07-27 08:32:57 +02:00
#### Contributors
The app require the `App Group` capability. To make sure it works for your developer membership. Please check [AppName.swift ](AppShared/AppName.swift ) file and set another unique `groupID` and update `App Group` settings.
2021-07-27 08:38:49 +02:00
The app is compatible with [toot-relay ](https://github.com/DagAgren/toot-relay ) APNs. You can set your push notification endpoint via cocoapod-keys.
2021-07-27 08:32:57 +02:00
2021-01-22 07:27:37 +01:00
## Acknowledgements
- [AlamofireImage ](https://github.com/Alamofire/AlamofireImage )
- [AlamofireNetworkActivityIndicator ](https://github.com/Alamofire/AlamofireNetworkActivityIndicator )
- [Alamofire ](https://github.com/Alamofire/Alamofire )
- [CommonOSLog ](https://github.com/mainasuk/CommonOSLog )
2021-04-25 06:48:29 +02:00
- [CryptoSwift ](https://github.com/krzyzanowskim/CryptoSwift )
2021-01-22 07:27:37 +01:00
- [DateToolSwift ](https://github.com/MatthewYork/DateTools )
2021-07-27 08:32:57 +02:00
- [DiffableDataSources ](https://github.com/ra1028/DiffableDataSources )
- [DifferenceKit ](https://github.com/ra1028/DifferenceKit )
- [FLAnimatedImage ](https://github.com/Flipboard/FLAnimatedImage )
- [FLEX ](https://github.com/FLEXTool/FLEX )
- [FPSIndicator ](https://github.com/MainasuK/FPSIndicator )
- [Fuzi ](https://github.com/cezheng/Fuzi )
2021-01-22 07:27:37 +01:00
- [Kanna ](https://github.com/tid-kijyun/Kanna )
2021-04-27 10:26:59 +02:00
- [KeychainAccess ](https://github.com/kishikawakatsumi/KeychainAccess.git )
2021-02-04 12:28:16 +01:00
- [Kingfisher ](https://github.com/onevcat/Kingfisher )
2021-07-27 08:32:57 +02:00
- [MetaTextKit ](https://github.com/TwidereProject/MetaTextKit )
- [Nuke-FLAnimatedImage-Plugin ](https://github.com/kean/Nuke-FLAnimatedImage-Plugin )
- [Nuke ](https://github.com/kean/Nuke )
- [Pageboy ](https://github.com/uias/Pageboy#the-basics )
2021-09-14 12:21:15 +02:00
- [PanModal ](https://github.com/slackhq/PanModal.git )
2021-07-27 08:32:57 +02:00
- [SDWebImage ](https://github.com/SDWebImage/SDWebImage )
2021-08-05 13:43:08 +02:00
- [swift-collections ](https://github.com/apple/swift-collections )
2021-07-27 08:32:57 +02:00
- [swift-nio ](https://github.com/apple/swift-nio )
2021-01-22 07:27:37 +01:00
- [SwiftGen ](https://github.com/SwiftGen/SwiftGen )
2021-07-27 08:32:57 +02:00
- [SwiftUI-Introspect ](https://github.com/siteline/SwiftUI-Introspect )
- [SwiftyJSON ](https://github.com/SwiftyJSON/SwiftyJSON )
- [Tabman ](https://github.com/uias/Tabman )
- [Texture ](https://github.com/TextureGroup/Texture )
- [ThirdPartyMailer ](https://github.com/vtourraine/ThirdPartyMailer )
- [TOCropViewController ](https://github.com/TimOliver/TOCropViewController )
2021-04-09 13:44:48 +02:00
- [TwitterProfile ](https://github.com/OfTheWolf/TwitterProfile )
2021-03-18 10:33:07 +01:00
- [UITextView-Placeholder ](https://github.com/devxoul/UITextView-Placeholder )
2021-01-22 07:27:37 +01:00
## License
2021-11-18 08:44:00 +01:00
This project is released under the [GPL-3 License ](./LICENSE ). It is also dual-licensed to Apple for the purposes of publishing the app on the App Store. For this reason, any contributors are required to sign a Contributor License Agreement.