【发布时间】:2017-01-21 00:18:34
【问题描述】:
我们的项目非常庞大和复杂。它是关于在代码中某处流式传输在线视频,或使用互联网进行的其他一些活动(例如,网络服务、下载等)。我负责在应用开始使用 3G 或 4G 互联网服务时显示通知。
有没有库支持这个功能?
我们的项目是用 Objective-C 编写的,支持 ios8、ios9 和 ios10,可以在 iPhone、iPad 上运行。
【问题讨论】:
-
不幸的是,iOS SDK 也不允许您观察您所连接的特定蜂窝网络。如果您查看 Apple 创建的“Reachability”实用程序,这大约是您在网络条件下可以预期的最大功能。 developer.apple.com/library/ios/samplecode/Reachability/… 但是,有一些方法可以通过使用 AVPlayer 中的函数来“猜测”速度。您可以观察缓冲区填充率(互联网下载比特的速度)或播放 LikelyToKeepUp。
-
@Ollie:不,不一样。可达性是检查您是否有互联网。它不会检查您的应用程序是否正在使用互联网。您的应用可以连接互联网,但它不使用互联网。
-
啊,我明白了!我认为这行:“我有责任在应用程序开始使用 3G 或 4G 互联网服务时显示通知”是指应用程序使用连接启动时,而不是设备实际开始使用连接时。
-
@chipbk10,如果您查看可达性框架,它实际上会告诉您是否有互联网连接,但它也会告诉您“如何”连接。它会让你知道它是 Wifi 还是 Cellular。但是,它不会告诉您您使用的是哪种类型的“蜂窝”连接。只需阅读代码,您就会看到连接“类型”的枚举。特别是这一行 + (instancetype)reachabilityForLocalWiFi
标签: ios objective-c