J'ai une classe implémentant MCNearbyServiceAdvertiserDelegate. Lors de l'initialisation, je peux voir l'homologue annoncé par le client si j'appelle MPCManager.advertiser.startadvertisingpeer(). J'essaye de mettre en application une méthode pour arrêter la publicité, changer l'annonceur discoveryInfo et puis commencer à annoncer encore avec les nouvelles informations de découverte en place.multipeer connectivity annonceur
Les méthodes arrêtent avec succès la publicité par les pairs mais ne recommencent pas à faire de la publicité. Pouvez-vous s'il vous plaît me aider
code détails
classMPCManager:NSObject,MCSessionDelegate,MCNearbyServiceBrowserDelegate, MCNearbyServiceAdvertiserDelegate {
var delegate: MPCManagerDelegate?
var session: MCSession!
var sessionList: [MCSession]! = []
var peer: MCPeerID!
var browser: MCNearbyServiceBrowser!
var advertiser: MCNearbyServiceAdvertiser!
var foundPeers:[NSDictionary]! = []
var invitationHandler: ((Bool, MCSession!)->Void)!
var discoveryInfo:[String: String]!
init(discoveryInfo:[String:String]!, peer:MCPeerID!) {
super.init()
self.discoveryInfo = discoveryInfo
self.peer = peer
session = MCSession(peer: self.peer)
session.delegate = self
browser = MCNearbyServiceBrowser(peer: peer, serviceType: "myservicetype")
browser.delegate = self
advertiser = MCNearbyServiceAdvertiser(peer: self.peer, discoveryInfo: self.discoveryInfo, serviceType: "myservicetype")
advertiser.delegate = self
}
/////some other methods
///the problematic method
func setAdvertising(discoveryInfo:[String:String]!){
print("setting advertising")
self.discoveryInfo = discoveryInfo
advertiser.stopAdvertisingPeer()
advertiser = nil
self.advertiser = MCNearbyServiceAdvertiser(peer: self.peer, discoveryInfo: self.discoveryInfo, serviceType: "myservicetype")
self.advertiser.delegate = self
print("advertising from set advertising")
advertiser.startAdvertisingPeer()
}