MultiParty 0.1.6

MultiParty 0.1.6

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布最新发布2015年2月
SPM支持 SPM

Jordan Sitkin 维护。



  • 作者
  • Jordan Sitkin

MultiParty

在最近的项目中实现 Apple 的 MultipeerConnectivity 框架时,我遇到了一些问题。一些研究显示我并不是唯一一个遇到这些挫折的人,因此我创建了一个小型类来实现 MCSessionDelegateMCNearbyServiceAdvertiserDelegateMCNearbyServiceBrowserDelegate。最初它是为聊天应用程序设计的,但也适用于其他用途。

您可能想使用它的原因

  • 它通过为每个客户端存储和重用 MCPeerID 来避免在网络上出现重名的“幽灵”设备。它还通过使用每个 MCNearbyServiceAdvertiser 实例的 discoveryInfo 属性允许每个客户端的明显名称更改,同时保持 displayName 不变,以进一步减轻这个问题。
  • 客户端一出现在网络上就会自动互相邀请。通过比较他们的客户端 ID 的哈希值来确定邀请者和被邀请者,以避免“相互邀请”问题。
  • 它提供了一些方便的方法,用于在客户端之间发送/接收 UIImage 实例。

使用方法

导入模块

import MultiParty

然后实现 JSMultiPartyDelegate

public protocol JSMultiPartyDelegate {
  func didReceiveMessageFromPeerId(peerId: MCPeerID, message: AnyObject)
  func didConnectToPeerId(peerId: MCPeerID)
  func didDisconnectFromPeerId(peerId: MCPeerID)
  func didFindPeerId(peerId: MCPeerID, name: String?)
  func didLosePeerId(peerId: MCPeerID)
  func didStartReceivingImage(peerId: MCPeerID, progress: NSProgress)
  func didFinishReceivingImage(peerId: MCPeerID, image: UIImage)
  func didReceiveStream(stream: NSInputStream, withName: String, fromPeer: MCPeerID)
  func didFailToReceiveImage(peerId: MCPeerID, error: NSError)
  func didNotStartAdvertisingPeer(error: NSError)
  func didNotStartBrowsingForPeers(error: NSError)
}

要求

作为一个基于 Swift 的新的 CocoaPod,它不支持 iOS < 8。为了支持 iOS 7+,您只需将类复制到您的项目中即可。

安装

作者

Jordan Sitkin,[email protected]

许可

MultiParty 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。