我正在编写一个 OS X 应用程序,该应用程序依赖于确定无线信号强度的能力,但我不知道可以使用哪些权限对其进行沙盒处理。
每当我使用
NSMutableArray *scanResults;
CWInterface *currentInterface = [CWInterface interface];
NSLog(@"currInterface: %@\n", currentInterface);
NSMutableDictionary *signalsDict = [[NSMutableDictionary alloc] init];
NSError *err = nil;
scanResults = [NSMutableSet setWithSet:[currentInterface scanForNetworksWithSSID:nil error:&err]];
尽管在 XCode 中检查了所有权利,但我还是收到了错误
The operation couldn't be completed. (com.apple.coreWLAN.error error 1.)
。我缺少什么权利?CoreWLANWirelessManager 示例项目也有同样的问题。
最佳答案
CoreWLAN 似乎根本不适用于沙盒应用程序。
Apple的开发人员文档指出“使用App Sandbox,您的应用程序无法修改系统的网络配置(无论是系统配置框架,CoreWLAN框架还是其他类似的API)”,这似乎意味着可以读取但不能写入设置,但这似乎在实践中不起作用,Apple DTS 的一篇帖子证实了这一点:https://forums.developer.apple.com/thread/11307
关于objective-c - 沙盒核心WLAN?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13119260/