https://github.com/thoughtbot/Swish
Nothing but Net(working)
https://github.com/thoughtbot/Swish
ios macos networking tvos watchos
Last synced: 5 months ago
JSON representation
Nothing but Net(working)
- Host: GitHub
- URL: https://github.com/thoughtbot/Swish
- Owner: thoughtbot
- License: mit
- Created: 2015-07-17T14:51:14.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2021-09-24T16:04:22.000Z (about 4 years ago)
- Last Synced: 2025-07-06T14:16:36.622Z (6 months ago)
- Topics: ios, macos, networking, tvos, watchos
- Language: Swift
- Size: 539 KB
- Stars: 361
- Watchers: 13
- Forks: 39
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - Swish - Nothing but Net(working). (Networking / Video)
- awesome-ios-star - Swish - Nothing but Net(working). (Networking / Video)
- fucking-awesome-ios - Swish - Nothing but Net(working). (Networking / Video)
README

# Swish [](https://circleci.com/gh/thoughtbot/Swish) [](https://github.com/Carthage/Carthage) [](https://img.shields.io/cocoapods/v/Swish.svg)
Nothing but net(working).
Swish is a networking library that is particularly meant for requesting and
decoding JSON via `Decodable`. It is protocol based, and so aims to be easy
to test and customize.
## Version Compatibility
Here is the current Swift compatibility breakdown:
| Swift Version | Swish Version |
| ------------- | ------------ |
| 5.X | >= 4.0.0 |
| 4.X | >= 3.0.0 |
| 3.X | > 2.0, < 3.0 |
| 2.X | 1.X |
## Installation
### [Carthage]
[Carthage]: https://github.com/Carthage/Carthage
Add the following to your Cartfile:
```
github "thoughtbot/Swish"
```
Then run `carthage update`.
Follow the current instructions in [Carthage's README][carthage-installation]
for up to date installation instructions.
[carthage-installation]: https://github.com/Carthage/Carthage#adding-frameworks-to-an-application
### [CocoaPods]
[CocoaPods]: http://cocoapods.org
Add the following to your [Podfile](http://guides.cocoapods.org/using/the-podfile.html):
```ruby
pod 'Swish'
```
You will also need to make sure you're opting into using frameworks:
```ruby
use_frameworks!
```
Then run `pod install` with CocoaPods 0.36 or newer.
### Git Submodules
I guess you could do it this way if that's your thing.
Add this repo as a submodule, and add the Swish project file along with the
dependency project files to your workspace. You can then link against
`Swish.framework` along with the dependency frameworks for your application
target.
## Usage
### Basic Playground
You can see an example of Swish in action via the included `SwishExamples.playground`.
To use that, clone this repository and run `carthage bootstrap --platform iOS`.
When that finishes, open the `Swish.xcworkspace` and click the `SwishExamples`
playground on the left.
### Documentation
- [Basic Usage](Documentation/Basics.md)
- [Testing](Documentation/Testing.md)
## License
Swish is Copyright (c) 2019 thoughtbot, inc. It is free software, and may be
redistributed under the terms specified in the [LICENSE] file.
[LICENSE]: /LICENSE
## About

Swish is maintained and funded by thoughtbot, inc. The names and logos for
thoughtbot are trademarks of thoughtbot, inc.
We love open source software! See [our other projects][community] or look at
our product [case studies] and [hire us][hire] to help build your iOS app.
[community]: https://thoughtbot.com/community?utm_source=github
[case studies]: https://thoughtbot.com/ios?utm_source=github
[hire]: https://thoughtbot.com/hire-us?utm_source=github