使用“ com.apple.system.config.network_change”通知检测网络可达性更改是否安全?还是被认为是私有API?现在,我的代码如下:
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
nil,
callback,
"com.apple.system.config.network_change" as CFString,
nil,
.deliverImmediately);
然后在回调中我响应通知。
问题是iOS中的可达性并不总是检测到Wi-Fi切换。例如,如果我们要从一个系统已经知道的Wi-Fi AP切换到另一个Wi-Fi AP(因为我们过去使用过),那么它发生得太快了,以至于没有“ Disconnected”事件发生,我无法追踪实际的切换时刻。上面的解决方案有效,但是我确定我的应用程序不会在App Store中发布时被拒绝。
谢谢!
答案 0 :(得分:0)
我不能准确回答您的问题,但是我处理 Reachability 更改的方法是使用this“ lib”,在收听时非常准确每一个变化。我想您可以尝试一下是否适合您检测这两个Wi-Fi之间切换的特定时刻的需求。
如果您不想导入它-这是一个很小的文件,则只需使用works就可以看到它SCNetworkReachability
的样子。
答案 1 :(得分:0)
目前认为这是公共API。有关更多详细信息,请参见此线程: