mastodon-ios/README.md

90 lines
4.3 KiB
Markdown
Raw Normal View History

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&amp;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&amp;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)
- [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
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.