0
我想在MacOS上10.13,發佈Multipeer連接服務,因爲這樣的:MCNearbyServiceAdvertiser在Mac OS 10.13(高塞拉利昂)不工作
override init() {
self.serviceAdvertiser = MCNearbyServiceAdvertiser(peer: peerID, discoveryInfo: nil, serviceType: serviceID);
super.init();
self.serviceAdvertiser.delegate = self;
self.serviceAdvertiser.startAdvertisingPeer();
}
其中
private let serviceID = "sample-test";
private let peerID = MCPeerID(displayName: Host.current().localizedName!);
反而得到適當的委託回叫方法被稱爲廣告商立即失敗,這是我在控制檯中得到的:
2017-10-16 11:22:35.568607-0700 macApp[3060:288948] [] tcp_listener_socket_create bind(fd 3) failed: [1] Operation not permitted
2017-10-16 11:22:35.569223-0700 macApp[3060:288940] [MCNearbyServiceAdvertiser] Server did not publish: errorDict [{
NSNetServicesErrorCode = 1;
NSNetServicesErrorDomain = 1;
}].
不知道如何解決這個問題?
UPDATE:
運行在iPhone模擬器完全相同的代碼工作正常,所以我猜它是與Mac機上的一些權限。
看到該日誌說,這是一個權限問題我繼續啓用Mac上的root用戶,並試圖運行相同的代碼無濟於事。
我想關閉系統完整性保護的,但我有一個困難時期來條款的事實,如果所有這些安全威脅是爲了使用它需要蘋果將發佈此框架。將繼續調查。