首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >负责CWInterface通知的“系统-套接字”的权限?

负责CWInterface通知的“系统-套接字”的权限?
EN

Stack Overflow用户
提问于 2012-07-18 01:20:58
回答 1查看 1.2K关注 0票数 2

当我注册CoreWLAN通知(使用保留的接口)时,如下所示:

代码语言:javascript
复制
 [[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(recieveNetworkNotificationAndRedirectToMainThread:) 
                                             name:CWSSIDDidChangeNotification 
                                           object:nil];

只有当我禁用了所有应享权利时,才会收到通知。任何默认权利都不允许我接收此通知(或其他CoreWLAN)。

有什么想法吗?

10.7.4

编辑1:

应享权利参考页没有提供任何帮助。

编辑2:

伪造通知很好:

代码语言:javascript
复制
  [[NSNotificationCenter defaultCenter] 
 postNotificationName:CWSSIDDidChangeNotification 
 object:self];  

也没有收到任何其他CoreWLAN通知

我确信这是我错过的一个简单的权利..。下面是包含咆哮的临时异常的权利文件(删除临时异常也没有任何效果):

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.device.usb</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.network.server</key>
    <true/>
    <key>com.apple.security.temporary-exception.apple-events</key>
    <string>com.Growl.GrowlHelperApp</string>
    <key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
    <string>GrowlApplicationBridgePathway</string>
</dict>
</plist>

编辑3:

使用旧的k前缀通知名称编译10.6也没有任何效果。

编辑4:

日志中的更多信息:

AppName (39009)拒绝系统套接字 进程: AppName 39009路径: /Users/username/Library/Developer/Xcode/DerivedData/AppName-fnxrpqnodsouovcaxgiocvnfpqor/Build/Products/Release/AppName/Contents/MacOS/AppName加载地址: 0x10d23f000标识符: AppName版本: ( ??)代码类型: X86-64 (本机)父进程:调试器39007 日期/时间: 2012-07-20 13:17:11.851 -0700操作系统版本: Mac 10.7.4 (11E2705)报告版本:7 回溯:0 libsystem_kernel.dylib 0x00007fff98704e76套接字+ 10 1 CoreWLAN 0x00007fff951f4a6f Apple80211EventMonitoringInit2 +532 CoreWLAN 0x00007fff951e6dc4 -CWInterface initWithInterfaceName:+ 1358 3 CoreWLAN 0x00007fff951e412d +CWInterface interfaceWithName:+ 52 4 CoreWLAN 0x00007fff951e41a8 +CWInterface接口+ 98

编辑5:

找到了此引用拒绝沙箱中的系统套接字。但还没找到帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-26 00:48:30

我能够获得SSID更改和更新,我的应用程序沙箱使用网络通知程序代码在硬再生-我认为,因为它寻找特定的通知。

http://code.google.com/p/growl/source/browse/Extras/HardwareGrowler/?name=default

一旦我接到变更通知:

代码语言:javascript
复制
if(wif==nil){
    wif = [CWInterface interface];
    [wif retain];
}
if(!wif.serviceActive){
    skip=TRUE;
}
if(wif.ssid==nil){
    skip=TRUE;
}
if(!skip)
if(wif){
    NSLog(@"We are on the WiFi network: %@",wif.ssid);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11533057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档