File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -120,17 +120,15 @@ extension MultipeerConnection: MCSessionDelegate {
120120
121121 let handler = invitationCompletionHandlers [ peerID]
122122
123- defer { invitationCompletionHandlers [ peerID] = nil }
124-
125123 DispatchQueue . main. async {
126124 switch state {
127125 case . connected:
128126 handler ? ( . success( peer) )
129-
127+ self . invitationCompletionHandlers [ peerID ] = nil
130128 self . didConnectToPeer ? ( peer)
131129 case . notConnected:
132130 handler ? ( . failure( MultipeerError ( localizedDescription: " Failed to connect to peer. " ) ) )
133-
131+ self . invitationCompletionHandlers [ peerID ] = nil
134132 self . didDisconnectFromPeer ? ( peer)
135133 case . connecting:
136134 break
Original file line number Diff line number Diff line change @@ -151,7 +151,7 @@ public final class MultipeerTransceiver {
151151 }
152152
153153 private func handlePeerRemoved( _ peer: Peer ) {
154- guard let idx = availablePeers. firstIndex ( of : peer) else { return }
154+ guard let idx = availablePeers. firstIndex ( where : { $0 . underlyingPeer == peer. underlyingPeer } ) else { return }
155155
156156 availablePeers. remove ( at: idx)
157157 }
@@ -165,7 +165,7 @@ public final class MultipeerTransceiver {
165165 }
166166
167167 private func setConnected( _ connected: Bool , on peer: Peer ) {
168- guard let idx = availablePeers. firstIndex ( of : peer) else { return }
168+ guard let idx = availablePeers. firstIndex ( where : { $0 . underlyingPeer == peer. underlyingPeer } ) else { return }
169169
170170 var mutablePeer = availablePeers [ idx]
171171 mutablePeer. isConnected = connected
You can’t perform that action at this time.
0 commit comments