一个构建在 MultipeerConnectivity 框架之上的高级抽象层,允许 iOS、macOS 和 tvOS 设备通过 Wi-Fi 网络、点对点 Wi-Fi 和蓝牙在它们之间交换数据。
查看 example 文件夹以获取示例实现。
为了使 MultipeerKit 在 iOS 14 上运行时能够正常工作,您需要在应用程序的 Info.plist 文件中包含两个键。
这两个键是 Privacy - Local Network Usage Description
(NSLocalNetworkUsageDescription
) 和 Bonjour services
(NSBonjourServices
)。
对于隐私键,请包含一段人类可读的描述,说明用户允许您的应用程序访问本地网络上的设备能获得什么好处。
Bonjour services 键是您的应用程序将浏览的服务类型数组。 对于 MultipeerKit,条目应采用 _servicename._tcp
格式,其中 servicename
是您在 MultipeerConfiguration
中设置的 serviceType
。 如果您使用的是默认配置,则此键的值应为 _MKSVC._tcp
。
如果您没有正确配置上述键,则 MultipeerKit 将无法正常工作。
此库中的主要类是 MultipeerTransceiver
,它执行多点通信的发送和接收两方面的工作。
MultipeerKit 可以传输和接收任何符合 Codable
协议的内容,这使您可以轻松定义自己的消息类型。
// 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, sender in
print("Got my thing from \(sender.name)! \(payload)")
}
// Broadcast message to peers
let payload = SomeEncodableThing()
transceiver.broadcast(payload)
有关如何使用 MultipeerKit 的更多信息,请查看文档。
MultipeerKit 是一个 Swift 包,要在您的项目中使用它,请将其添加到您的 Package.swift
文件中
let package = Package(
...
dependencies: [
.package(url: "https://github.com/insidegui/MultipeerKit.git", from: "0.4.0")
],
...
)