TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Apr 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by Marcus Kida.
Depends on: | |
Moya/RxSwift | ~> 8.0.3 |
Moya-Gloss/RxSwift | ~> 2.0.0 |
This client is designed to connect to any Mastodon instance and interact with it. As of the time of writing this (08th April 2017) the Moya Providers are feature complete with tootsuite/mastodon.
MastodonClient
contains a few convenience methods to create Apps (OAuth Clients) and interact with the API but you should use the Moya Targets directly for the time being (as those are feature complete).
Do not forget to setup you Mastodon base url by setting it in the Settings
singleton before trying to use any of the APIs:
Settings.shared.baseURL = NSURL(string: "https://mastodon.social")!
Given you've got an OAuth Client
let app = App(clientId: "…", clientSecret: "…")
Logging in is as easy as this then:
RxMoyaProvider<Mastodon.OAuth>()
.request(.authenticate(app, username, password))
.mapObject(type: AccessToken.self)
.subscribe { even in … }
Provided login was successful and you've retrieved an AccessToken
you're free to use all the other APIs, e.g. to retrieve your home timeline:
RxMoyaProvider<Mastodon.Timelines>(plugins: [AccessTokenPlugin(token: accessToken.token)])
.request(.home)
.mapArray(type: Status.self)
.subscribe { even in … }
Xcode 8.3 / Swift 3.1
Moya/RxSwift
Moya-Gloss/RxSwift
MastodonClient is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "MastodonClient"
Marcus Kida [email protected]
MastodonClient is available under the MIT license. See the LICENSE file for more info.