Pass response in
onOpen
callback (#242)
- Pass response in
onOpen
callbackThe response may be useful for the clients for diagnosis and observability. E.g. it makes it possible to extract a Cloudflare Ray id from the HTTP headers.
onOpen
methods with no value passed to the callback are preserved for backward compatibility.
- Remove redundant tuple packaging
Signed-off-by: Daniel Garbień daniel.garbien@whatnot.com
Signed-off-by: Daniel Garbień daniel.garbien@whatnot.com
Swift Phoenix Client
About
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.
Sample Projects
You can view the example of how to use SwiftPhoenixClient in the Example/ dir. There are two primary classes,
BasicViewController
andChatRoomViewController
. TheBasicViewController
is designed to test against a local chat server where asChatRoomViewController
is a more “complete” example which targets dwyl’s phoenix-chat-example Heroku app.SwiftPhoenixClient
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.
Installation
CocoaPods
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’
and running
pod install
. From there you will need to addimport SwiftPhoenixClient
in any class you want it to be used.Carthage
If you use Carthage to manage your dependencies, simply add SwiftPhoenixClient to your
Cartfile
:Then run
carthage update
.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.
SwiftPackageManager
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.swift
:and then specify
"SwiftPhoenixClient"
as a dependency of the Target in which you wish to use SwiftPhoenixClient.Usage
Using the Swift Phoenix Client is extremely easy (and familiar if you have used the phoenix.js client).
See the Usage Guide for details instructions. You can also check out the documentation
Example
Check out the ViewController in this repo for a brief example of a simple iOS chat application using the Phoenix Chat Example
Also check out both the Swift and Elixir channels on IRC.
Development
Check out the wiki page for getting started
Thanks
Many many thanks to Daniel Rees for his many contributions and continued maintenance of this project!
License
SwiftPhoenixClient is available under the MIT license. See the LICENSE file for more info.