Я пытаюсь перезапустить свой 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, но, похоже, он все еще не помогает. Есть идеи?