MastodonClient 1.0.1

MastodonClient 1.0.1

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
 

  • By
  • git

Howto

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  }

Requirements

  • Xcode 8.3 / Swift 3.1
  • Moya/RxSwift
  • Moya-Gloss/RxSwift

Installation

MastodonClient is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "MastodonClient"

Author

Marcus Kida [email protected]

License

MastodonClient is available under the MIT license. See the LICENSE file for more info.