我们正在使用Swift 4编写iOS应用程序。此应用程序正在使用多种连接。如果一个玩家正在发送数据/图像,我们希望识别数据/图像从哪个设备发送。
func session(_ session: MCSession, didReceive data: Data, fromPeerpeerID: MCPeerID) {
if DataManager.string == false {
let toSaveArray = NSKeyedUnarchiver.unarchiveObject(with: data as Data) as! [Int]
peers.append(peerID)
print(peers)
NSLog("Peer \(peerID) has sent message \(toSaveArray)")
DataManager.speicher1 = toSaveArray
}else if DataManager.string == true {
let toSaveString = NSKeyedUnarchiver.unarchiveObject(with: data as Data) as! String
NSLog("Peer \(peerID) has sent message \(toSaveString)")
DataManager.speicher2 = toSaveString
}
}
答案 0 :(得分:0)
如果您想传递设备的用户名,可以导入UIKit
并通过拨打UIDevice.currentDevice().name
进行访问。
获得该数据后,您可以在与其他对等方连接时将其与任何其他数据一起传递。
这是我在Swift 2应用程序中的设备之间来回传递字符串数据的方法:
try self.session.sendData((boolString.dataUsingEncoding(NSUTF8StringEncoding))!, toPeers: self.session.connectedPeers, withMode: MCSessionSendDataMode.Reliable)
请注意,此示例将向连接到会话的所有对等方发送数据。
使用Multipeer Connectivity框架,此示例已从this tutorial解除。