使用 startMonitoringEventWithType: error: 努力检测 wifi SSID 更改

2023-12-27

苹果似乎通过 Yosemite 和 CoreWLAN 框架引入了相当大的变化。我想使用它的新 API,引用头文件:

/*!
 * @method
 *
 * @param type
 * A CWEventType value.
 *
 * @param error
 * An NSError object passed by reference, which upon return will contain the error if an error occurs.
 * This parameter is optional.
 *
 * @result
 * A BOOL value indicating whether or not an error occurred. YES indicates no error occurred.
 *
 * @abstract 
 * Register for specific Wi-Fi event notifications.
 * 
 * @discussion
 * Requires the <i>com.apple.wifi.events</i> entitlement.
 */
- (BOOL)startMonitoringEventWithType:(CWEventType)type error:(out NSError **)error NS_AVAILABLE_MAC(10_10);

并将 CWEventType 设置为:CWEventTypeSSIDDidChange

它说它需要权利,但我无法在我的 Mac 上运行它。错误信息是:

应用程序意外退出。来自调试器的消息:由于以下原因而终止 代码签名错误。

我的权利文件(我怀疑问题所在)是这样的:

<?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.wifi.events</key>
    <true/>
</dict>
</plist>

我正在目标的构建设置中设置代码签名路径。说到这里,如果我排除本地权利文件,应用程序会运行,但不会按预期运行。正在研究的 API 返回一个错误对象,其描述如下:

Error Domain=com.apple.wifi.request.error Code=4 "The operation couldn’t be completed. (com.apple.wifi.request.error error 4.)"

这绝对是一个令人费解的事情,或者至少我希望如此,否则我就是个十足的白痴。我在会员中心拥有我的应用程序的特定应用程序 ID,以及特定的开发配置文件(尽管我不必这样做,因为我使用的是通配符开发配置文件)。

提前致谢。


目前(2015 年 7 月 31 日)似乎存在一个错误CWWiFiClient: 权利没有得到适当的授予。这甚至扩展到非沙盒应用程序。看这个问题 https://forums.developer.apple.com/thread/11307在 Apple 开发者论坛上了解更多信息。

因此,我们可能不得不暂时求助于已弃用的 API。 symmala 提供了好例子 https://stackoverflow.com/a/30388864/1214974如何使用已弃用的 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 startMonitoringEventWithType: error: 努力检测 wifi SSID 更改 的相关文章

  • NSRunAlertPanel 显示在“活动窗口”后面

    我正在尝试整理一个简单的错误报告包 如果我的主程序崩溃 它会保存崩溃日志 然后启动报告程序 报告程序询问用户是否可以将崩溃日志发送给我 然后就这样做了 我正在使用 NSRunAlertPanel 创建一个基本消息框 由于某种原因 该消息框显
  • 为什么 tkinter 在 Mac 上失败

    我在 Mac 上使用 tkinter 但是当我使用以下简单代码时 计算机将重新启动 import tkinter as tk window tk Tk 问题是什么 谢谢你 Mac 莫哈韦沙漠 版本 10 14 6 tkinter 版本 8
  • 为什么这段代码不能产生正确的输出? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 给定一个字符串和一个数字 该函数将从
  • 并行磁盘 I/O

    我有几个想要阅读的日志文件 不失一般性 假设日志文件处理如下 def process infilepath answer 0 with open infilepath as infile for line in infile if line
  • NSRunningApplication - 终止

    我将如何使用NSRunningApplication 我有与启动应用程序相反的东西 NSWorkspace sharedWorkspace launchApplication appName 但我想关闭一个 当我调试代码时出现错误NSRun
  • SMCopyAllJobDictionaries 和 SMJobCopyDictionary 已弃用,那么它们的替代品是什么?

    I use SMCopyAllJobDictionaries and SMJobCopyDictionary检查应用程序是否是 Mac 中的登录项 但在 10 10 中 它们已被弃用 那么他们官方推荐的替代品是什么 还没有 引用Servic
  • 使用 librsvg / rsvg 通过 ImageMagick 转换 SVG 图像

    我知道这个问题在这里有几个答案版本 如下所示 ImageMagick 将 SVG 转换为 PNG 无法在启用 RSVG 的情况下工作 https stackoverflow com questions 11592085 imagemagic
  • 如何使用 NSWorkspace launchApplicationAtURL?

    我尝试使用以下命令运行 TextMate foo txt 的等效项在 URL 处启动应用程序 二进制文件的名称是 TextMate 我有一个参数 我尝试了以下代码 但它似乎不起作用 find the textmate NSURL bURL
  • 当我的 Mac 进入睡眠状态时,我的应用程序会发生什么情况?

    当 Mac OS X 进入睡眠状态时 由于关闭笔记本电脑或从 Apple 菜单中选择 睡眠 它如何暂停正在执行的进程 我认为非窗口进程只是在任意执行点挂起 对于 Cocoa 应用程序来说也是如此 还是操作系统会等到控制权返回到运行循环调度程
  • 在 Xcode 9 上切换分支

    我无法找到使用 Xcode 9 切换分支的菜单项 工作副本菜单似乎已经消失 有任何想法吗 Xcode 9 Xcode 8 Press 2 to open the new Source Control Navigator 右键单击master
  • NSMenu 未调用 validateMenuItem 或 menuWillOpen

    我的 Mac 应用程序有一个 NSMenu 其委托功能validateMenuItem and menuWillOpen从来没有被调用过 到目前为止 网上的解决方案都没有帮助 看来我做的一切都是对的 菜单项的选择器属于同一类 管理它的类继承
  • 如何更改 OS X 应用程序包中的可执行文件

    我想在 Firefox 启动之前和退出之后运行一个脚本 在 Ubuntu 中 我通过创建一个新的快捷方式来实现此目的 该快捷方式首先调用我的函数 然后调用 firefox 命令 然后调用我的最后一个函数 由于 firefox 命令会阻塞直到
  • 拖动调整 NSView(或其他对象)的大小

    我正在尝试构建一个应用程序 允许用户使用可以调整大小的矩形边界框来指定图像的多个区域 到目前为止 我已经有一个NSScrollView其中包含一个NSImageView这样用户就可以放大图像并根据需要滚动 我目前的想法是我可以使用NSVie
  • 如何在 Mac 上运行 virtualenv python

    我正在尝试使用 virtualenv 在我的 mac 上创建虚拟 python 环境 我已经下载了 virtualenv 但是我无法运行它 因为即使我提供了正确的路径 它也找不到我的 python3 安装路径 这是我运行的命令和响应 vir
  • 如何在 SceneKit 中以编程方式将 png 纹理包裹在立方体周围

    我是 SceneKit 的新手 试图让一些基本的东西工作 但到目前为止还没有取得多大成功 由于某种原因 当我尝试将 png 纹理应用于 CNBox 时 我最终除了黑色之外什么也没有 这是我在 viewDidLoad 中的简单代码片段 let
  • OSX 中的动态链接优先级之间存在冲突吗?

    OSX 上不同 libjpeg 动态库之间存在动态链接冲突 首先有一个标准的本机 libJPEG dylib 位于 System Library Frameworks ImageIO framework Versions A Resourc
  • localhost 拒绝在 chrome mac 中连接

    我正在使用 webpack dev server 使用此命令运行服务器 npm run dev 当我使用npm start 它工作得很好 但不想这样做 因为它是为了生产 到目前为止我的服务器运行良好http 本地主机 3000 http l
  • 如何在 osx 终端中返回应用程序版本

    我需要在 Mac osX 10 10 上的 sh 脚本中使用应用程序版本 以便我可以与另一个数字进行比较 以便我可以强制更新或不更新 到目前为止我已经有了这个 我使用 Firefox app 作为示例 FirefoxmdlsVersion
  • 在 macOS 中通过 Python 访问进程的压缩 RAM(顶部的 CMPRS)的方法?

    我试图弄清楚如何从 Python 访问任何给定进程占用的实际 RAM 量 我发现 psutil Process PID memory info rss 工作得很好 直到操作系统决定开始压缩某些进程的 RAM 然后 所有的 memory in
  • 将 bash 提示符下的当前命令复制到剪贴板

    我想要一个快速的键盘命令序列 将 bash 提示符处的当前命令复制到剪贴板 例如 要将最后一个 bash 命令复制到剪贴板 我会按 up some command sequence 复制它 或者 例如 要在 bash 历史记录中搜索命令 我

随机推荐