Swift Phoenix Client
SwiftPhoenixClient is a Swift port of phoenix.js, allowing your swift projects to connect to a Phoenix Websocket backend.
We try out best to keep the library up to date with phoenix.js but if there is something that is missing, please create an issue or, even better, a PR to address the change.
You can view the example of how to use SwiftPhoenixClient in the Example/ dir.
There are two primary classes,
BasicViewController is designed to test against a local chat server
ChatRoomViewController is a more "complete" example which targets
dwyl's phoenix-chat-example Heroku app.
Prior to v5.0.0, SwiftPhoenixClient came bundled with RxSwift and Starscream extensions. These have been (or are in the process of being) broken out into separate repositories so they can be excluded if desired.
The core module which provides the Phoenix Channels and Presence logic. It also uses URLSession's default WebSocket implementation which has a minimum iOS target of 13.0.
If you are targeting iOS < 13.0, or if you you prefer to use Starscream, then you will need to also use the Starscream module to connect to your server.
Please see the StarscreamSwiftPhoenixClient repository for details
If you are also using RxSwift in your project, then this module provides extensions for you to use to observe events on a channel.
Please see the RxSwiftPhoenixClient repo for more details.
You can install SwiftPhoenix Client via CocoaPods by adding the following to your Podfile. Keep in mind that in order to use Swift Phoenix Client, the minimum iOS target must be '9.0'
pod "SwiftPhoenixClient", '~> 5.1'
pod install. From there you will need to add
import SwiftPhoenixClient in any class you want it to be used.
If you use Carthage to manage your dependencies, simply add
SwiftPhoenixClient to your
github "davidstump/SwiftPhoenixClient" ~> 5.1
If this is your first time using Carthage in the project, you'll need to go through some additional steps as explained over at Carthage.
Note: Instructions below are for using SwiftPM without the Xcode UI. It's the easiest to go to your Project Settings -> Swift Packages and add SwiftPhoenixClient from there.
To integrate using Apple's Swift package manager, without Xcode integration, add the following as a dependency to your
.package(url: "https://github.com/davidstump/SwiftPhoenixClient.git", .upToNextMajor(from: "5.1.0"))
and then specify
"SwiftPhoenixClient" as a dependency of the Target in which you wish to use SwiftPhoenixClient.
Using the Swift Phoenix Client is extremely easy (and familiar if you have used the phoenix.js client).
Also check out both the Swift and Elixir channels on IRC.
Check out the wiki page for getting started
Many many thanks to Daniel Rees for his many contributions and continued maintenance of this project!
SwiftPhoenixClient is available under the MIT license. See the LICENSE file for more info.