MCNearbyServiceAdvertiser在Mac OS 10.13(高塞拉利昂)不工作
问题描述:
我想在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用户,并试图运行相同的代码无济于事。
我想关闭系统完整性保护的,但我有一个困难时期来条款的事实,如果所有这些安全威胁是为了使用它需要苹果将发布此框架。将继续调查。