使用 'com.apple.system.config.network_change' 通知来检测网络可达性更改是否安全?
Is it safe to use 'com.apple.system.config.network_change' notification to detect network reachability changes?
使用 '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 切换到系统已经知道的另一个(因为我们过去使用过它),那么它发生得太快以至于没有 'Disconnected' 事件,我无法跟踪实际情况开关时刻。上述解决方案有效,但我确定我的应用程序是否不会因在 App Store 中发布而被拒绝。
谢谢!
我无法完全回答你的问题,但我处理可达性变化的方式是使用this"lib",这在聆听每一个变化时都非常准确。我想如果它符合您检测两个 Wi-Fi 之间切换的特定时刻的需要,您可以尝试一下。
如果您不想导入它 - 这是一个 非常小的 文件 -,您可以看看它是如何 works - basically using SCNetworkReachability
.
目前认为是 public API。有关详细信息,请参阅此主题:
使用 '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 切换到系统已经知道的另一个(因为我们过去使用过它),那么它发生得太快以至于没有 'Disconnected' 事件,我无法跟踪实际情况开关时刻。上述解决方案有效,但我确定我的应用程序是否不会因在 App Store 中发布而被拒绝。
谢谢!
我无法完全回答你的问题,但我处理可达性变化的方式是使用this"lib",这在聆听每一个变化时都非常准确。我想如果它符合您检测两个 Wi-Fi 之间切换的特定时刻的需要,您可以尝试一下。
如果您不想导入它 - 这是一个 非常小的 文件 -,您可以看看它是如何 works - basically using SCNetworkReachability
.
目前认为是 public API。有关详细信息,请参阅此主题: