SmartMultipeer
示例
要运行示例项目,首先从仓库克隆,然后在 Example 目录中运行。
需求
需要的 iOS 版本为 11.0
安装
SmartMultipeer 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'SmartMultipeer'
使用
- 导入模块
import SmartMultipeer
类 & 协议
您需要使用 PeerConnectivity.swift
文件,该文件管理一切,并包含所有必需的方法。DataSync.swfit
协议包含 DataSyncDelegate,需要在类中实现以接收数据。它包含 4 个方法,分别是
func sync(dataDidReceive: Any, ofType: Type, at: Date)
当在另一台设备上接收到数据时调用该方法
func update(devices: [PeerDevice], at: Date)
当任何设备被添加/丢失时调用该方法
func lost(device: PeerDevice, at: Date)
当任何设备丢失时调用该方法。此方法为可选
func acknowledge(from: PeerDevice, at: Date, forDataID: Any)
当接收到数据且发送者会被确认时调用该方法。此方法为可选
如何开始
- 使用以下方式初始化服务类型
PeerConnectivity.instance.service = "sample-service"
- 设置多对等连接
PeerConnectivity.instance.setup(fromViewController: self, withDelegate: self)
- 连接用户
a. 单独
PeerConnectivity.instance.connect(forUser: .Peer)
PeerConnectivity.instance.connect(forUser: .Host)
b. 同时
PeerConnectivity.instance.autoConnect()
- 向连接的同行发送数据
func send(data: Any, ofType: Type, withID: Any)
您可以发送任何类型的数据,无论是原始类型还是设计或封装在类中的自定义模型,'ofType' 可以包含在 Type.swift
枚举中定义的值。'withID' 可用于在确认时验证。
其他辅助方法 & 属性
PeerConnectivity.instance.disconnect()
断开所有同行的连接,并停止广告和浏览
PeerConnectivity.instance.getAllRegisteredDevices()
返回到目前为止连接的设备的历史记录
PeerConnectivity.instance.peer
返回当前设备的信息
PeerConnectivity.instance.getAvailablePeers()
返回所有准备连接的同行
PeerConnectivity.instance.getConnectedPeers()
返回所有已连接的同行
作者
AJ Sagar Parwani 电子邮件:[email protected]
许可证
SmartMultipeer 在作者的许可下可用。有关更多信息,请参阅 LICENSE 文件。