我对使用 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)