MultipeerKit
A high-level abstraction built on top of the MultipeerConnectivity framework, which allows iOS, macOS and tvOS devices to exchange data between them over Wi-Fi networks, peer-to-peer Wi-Fi, and Bluetooth.
Sample app
Check the example folder for a sample implementation.
Usage
The main class in this library is MultipeerTransceiver
, which does both the sending and receiving aspects of the multipeer communication.
MultipeerKit can transmit and receive anything that conforms to the Codable
protocol, which makes it easy for you to define your own message types.
// Create a transceiver (make sure you store it somewhere, like a property)
let transceiver = MultipeerTransceiver()
// Start it up!
transceiver.resume()
// Configure message receivers
transceiver.receive(SomeCodableThing.self) { payload in
print("Got my thing! \(payload)")
}
// Broadcast message to peers
let payload = SomeEncodableThing()
transceiver.broadcast(payload)
For more information on how to use MultipeerKit, check the Swift files in the Public API folder, I tried my best to document all important aspects of using the framework.
Integrating
MultipeerKit is a Swift package, to use it in your project, add this to your Package.swift
file:
let package = Package(
...
dependencies: [
.package(url: "https://github.com/insidegui/MultipeerKit.git", from: "0.2.0")
],
...
)