Перезапуск рекламодателя службы MultipeerConnectivity с другой информацией Discovery - PullRequest
2 голосов
/ 26 мая 2020

Я пытаюсь перезапустить свой MCNearbyServiceAdvertiser с другим discoveryInfo, но старый discoveryInfo, похоже, остался, несмотря на полную замену экземпляра рекламодателя новым с новой информацией. Если я изменю его несколько раз, ServiceBrowsers будет склонен видеть информацию об обнаружении ранее активного ServiceAdvertiser, а не текущего активного.

let oldDiscoveryInfo = ["playerName": "Dave"]
self.serviceAdvertiser = MCNearbyServiceAdvertiser(peer: PeerID.shared.myPeerID,
                                                  discoveryInfo: discoveryInfo,
                                                  serviceType: "SpinHost")
self.serviceAdvertiser.startAdvertisingPeer()


//Now change the discovery info
serviceAdvertiser.stopAdvertisingPeer()
let newDiscoveryInfo = ["playerName": "Steve"]
self.serviceAdvertiser = MCNearbyServiceAdvertiser(peer: PeerID.shared.myPeerID,
                                                  discoveryInfo: newDiscoveryInfo,
                                                  serviceType: "SpinHost")
self.serviceAdvertiser.startAdvertisingPeer()

Я пробовал добавить задержку для просмотра новый ServiceAdvertiser, но, похоже, он все еще не помогает. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...