小编ji *_*hoi的帖子

使用可达性库到基于 Swiftui 的应用程序来通知网络丢失

我对使用 cocoapods 的 ios && 非常陌生。

我扫描了 SO 以找到检测网络状态的最简单方法,许多答案将我定向到 AshleyMills 的 Reachability git。

我正在 swiftui 中编写我的 webView 应用程序,当用户的互联网连接丢失时,我想弹出一个警报/通知程序。(所以当我的 webview 尝试加载时,他们不会闲着)

如果应用程序打开时网络更改的侦听器继续在后台运行,那将是最好的。

SO 中的大多数答案似乎都是基于 Swift 的(appdelegate、ViewDidload 等),我不知道如何使用,因为我是从 SwiftUI 开始的

提前致谢。

编辑(尝试 Lukas 提供的解决方法)

我尝试了以下。它编译并运行,但警报不会出现。它也不响应连接变化。

我的 ContentView 中有许多子视图。所以我在应用程序级别调用了 timer && 可达性。

@State var currentDate = Date()
let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
let reachability = try! Reachability()

@State private var showAlert: Bool = false
Run Code Online (Sandbox Code Playgroud)

它似乎不起作用:

WindowGroup {
        ContentView()
           .onAppear() {
               if !isConnected() {
                  self.showAlert = true
                  }
               }
           .onReceive(timer) …
Run Code Online (Sandbox Code Playgroud)

ios swiftui

0
推荐指数
1
解决办法
577
查看次数

标签 统计

ios ×1

swiftui ×1