A Swift package that wraps the WriteFreely API, for use in your Swift projects.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See Deployment for notes on how to add the library to your app.
You'll need Xcode 11.5 / Swift 5.2 installed along with the command line tools to work on this package.
Additionally, documentation is generated by SwiftDoc. After making any changes to the package's public API, you'll need to regenerate the docs; to do so, run the following commands in the terminal from the root directory of the package:
$ swift doc generate Sources --module-name WriteFreely --format html --output ./docs --base-url https://writefreely.github.io/writefreely-swift/
- Clone this repository.
- There is no step two.
Run the tests from the command line:
$ swift build
$ swift test
Follow the instructions in this Apple Developer document to add the WriteFreely
Swift package to your app.
Once you've done that, just import the library into whichever files should consume it:
@import Foundation // Or UIKit, Cocoa, &cet.
@import WriteFreely
// The rest of the Swift file goes here
Use public methods on the WFClient
to send and receive data from the server. The methods leverage completion blocks
and the Result
type, so you'd call them like so:
guard let instanceURL = URL(string: "https://your.writefreely.host/") else { fatalError() }
let client = WFClient(for: instanceURL)
client.login(username: "username", password: "password", completion: { result in
switch(result) {
case .success():
// Do something with the returned WFUser
case .failure():
// Do something with the returned WFError
}
})
See the API documentation for more details. Xcode-specific documentation is also available here.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Need help getting started? Find out more about the project's office hours.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Angelo Stavrow - Initial work - AngeloStavrow
See also the list of contributors who participated in this project.
This project is licensed under the BSD 3-Clause License - see the LICENSE.md file for details.