使用“ com.apple.system.config.network_change”通知检测网络可达性更改是否安全?

时间:2018-10-03 12:06:58

标签: ios swift networking app-store reachability

使用“ 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中发布时被拒绝。

谢谢!

2 个答案:

答案 0 :(得分:0)

我不能准确回答您的问题,但是我处理 Reachability 更改的方法是使用this“ lib”,在收听时非常准确每一个变化。我想您可以尝试一下是否适合您检测这两个Wi-Fi之间切换的特定时刻的需求。

如果您不想导入它-这是一个很小的文件,则只需使用works就可以看到它SCNetworkReachability的样子。

答案 1 :(得分:0)

目前认为这是公共API。有关更多详细信息,请参见此线程:

https://forums.developer.apple.com/message/334035#334035