ios - 应用程序启动后检查 iOS 应用程序互联网连接

标签 ios swift networking

我正在制作一个需要 API 请求的应用程序。如果没有任何方式的互联网连接(移动连接、wifi 等),我的应用程序就没有用处。因此,只要我的应用程序中没有互联网连接,我就会尝试填充事件指示器 View 。

我发现了非常好的 Stack Overflow 帖子,它让我可以检查我的设备的连接状态 (Check for internet connection with Swift)。

但是,有一件事我不确定。如果我在 AppDelegate didFinishLaunchingWithOptions 方法中放置一个方法来检查 iOS 设备的网络连接,那么它只会在应用程序启动时检查,对吗?我想在没有连接时显示事件指示器 View 。为了促进此功能,我想知道将方法放在应用程序中的哪个位置最有意义。

最佳答案

有一个很棒的库不适合使用它。它只是这个库的一小部分。使用 alamofire

怎么做?

您可以仅使用此代码检查可达性。

let reachabilityManager = Alamofire.NetworkReachabilityManager(host: "www.apple.com")

func listenForReachability() {
    self.reachabilityManager?.listener = { status in
        print("Network Status Changed: \(status)")
        switch status {
        case .NotReachable:
            //Show error state
        case .Reachable(_), .Unknown:
            //Hide error state
        }
    }

    self.reachabilityManager?.startListening()
}

您可以将此代码用作单例。请记住保留可达性管理器引用。

关于ios - 应用程序启动后检查 iOS 应用程序互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44497584/

相关文章:

ios - HTTPS 嗅探/Charles SSL 在 Facebook 上不起作用

ios - 对于 UITableView,我是否需要实现 trailingSwipeActionsConfigurationForRowAt 和/或 editActionsForRowAt?

ios - 滚动时SwiftUI NavigationBar不会消失

ios - 修复了滚动时消失的按钮/单元格

ios - 我可以控制并发执行的并行度吗?

ios - 我想知道如何为 iphone 应用程序创建类似此警报的内容

swift - didSelectRowAt 没有被调用

ubuntu - 通过网桥为容器分配静态 IP

networking - 如何从我 LAN 上的另一台 PC 访问环回适配器

python - 如何正确运行 localtunnel v2