问题标签 [reachability-swift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
698 浏览

ios - 显示可达性状态警报

我正在使用 ashleymills 的可达性:https ://github.com/ashleymills/Reachability.swift/releases

在 Xcode 7 中,我编写了一个函数来显示可达性状态的警报。

但是,警报永远不会出现。

这是我的代码:

0 投票
1 回答
462 浏览

ios - 通知用户可达性(Ashley Mills 的可达性)

我制作了一个应用程序,我想添加在应用程序的互联网可访问性发生更改时通知用户的功能。

我使用 Ashley Mills 的 Reachability.swift 文件。

现在我明白了它是如何工作的,所以我放了代码,当互联网可达性改变时,它会在 appDelegate 中打印它的状态。

但是,当我尝试设置提醒用户没有互联网连接的功能时,它会出现错误。

这是我在应用程序委托中的代码。

这很好用。但是 Viewcontroller 中的代码,

在展开可选值时意外发现 nil

它得到这个错误。

我将在它工作后放置用于提醒用户的代码。

在这里提问,

我怎样才能使它工作?它不一定要使用那个方法,但我想继续使用 NSNotification。其实我是一个编码新手,所以请解释一下细节。

0 投票
2 回答
1063 浏览

ios - 应用程序在飞行模式下启动时崩溃

我目前正在使用 Ashley Mill 的可达性类。如果应用程序通过网络连接启动,那么我可以在连接可用性之间切换而不会出现任何问题,并且能够正确显示网络连接警报控制器。但是,如果应用程序在没有互联网连接/飞行模式下启动时启动应用程序,它会突然崩溃。

可以做些什么来让 iPhone 应用程序启动并显示没有网络连接的警报而不是突然崩溃?

错误信息:

致命错误:在展开可选值时意外发现 nil

但我认为可达性改变会在 else 语句中捕捉到这一点并弹出错误消息?

在此处输入图像描述

0 投票
1 回答
1281 浏览

ios - Swift - 可达性崩溃

当按下 UIButton 以在完成操作之前检查 Internet 连接时,我调用方法 testReachability()。这是使用 Ashley Mill 的可达性类。

在第 24 行,我调用了 completed(),以便如果应用程序可以访问网络,那么它将完成关闭并继续执行其余操作。但是应用程序出现故障,并且此错误显示在调试控制台中:

“此应用程序正在从后台线程修改自动布局引擎,这可能会导致引擎损坏和奇怪的崩溃。这将在未来的版本中导致异常。”</p>

如果我在第 26 行调用 completed(),则应用程序运行完美、快速、流畅,直到我失去互联网连接/进入飞行模式。然后应用程序立即崩溃,xcode 在点击按钮时失去与设备的连接。

我的问题是在检查可达性时我能做些什么来解决我的应用程序崩溃的问题。

0 投票
0 回答
333 浏览

ios - Reachability 无法识别 4G

我正在使用来自 Ashley Mills ( https://github.com/ashleymills/Reachability.swift ) 的 Reachability.swift。我使用以下代码来请求当前的网络状态:

在开启 4G 的 iPhone6(无模拟器)上运行时,网络状态为“No Connection”而不是“Cellular”。

有人能告诉我我错过了什么吗?为什么这不能正常工作?

0 投票
3 回答
845 浏览

ios - Swift 3:检查 Internet(重复出现)viewDidAppear not

好的,所以我对 Swift 还很陌生,我对我正在尝试做的事情感到有点困惑,或者我是否走错了方向。(https://github.com/ashleymills/Reachability.swift

这是我的viewDidLoad方法:

然后我有一个函数,其中包含来自 Reachability GitHub 项目的代码:

如您所见,当没有互联网时,代码如下:

Dim 取自(http://www.totem.training/swift-ios-tips-tricks-tutorials-blog/ux-chops-dim-the-lightsmainToAlertNoInternet以透明方式加载当前视图的下一个视图,因此这是一种警觉风格。

因此,第二个 segue 上有一个视图和一个按钮。没有什么了不起的,这是没有互联网时加载的内容:

在此处输入图像描述

重试按钮链接到 Segue 的退出并在第一个视图控制器中运行此功能:

我在函数中添加了mainToAlertNoInternet这样当他们再次单击尝试时,它将返回到第一个 segue 并再次运行测试。但是,当我再次单击尝试时,我收到此错误:

警告:尝试呈现不在窗口层次结构中的视图!

希望我已经对我的设置进行了足够的解释。现在到问题:

1)我该如何解决这个错误?2)我这样做是正确的还是有更好的方法?

这就是我要的:

我想在应用加载时检查互联网连接。如果没有连接,我想像我一直在做的那样显示 segue。如果用户单击 Try gain,我希望它返回到第一个控制器并再次运行检查,如果仍然没有连接,则像最初一样再次显示 segue。我希望这是一个重复的过程,直到有互联网。

感谢您的所有帮助。提前致谢

编辑:

我在 ViewDidAppear 方法中添加了函数调用,如下所示:

但是,它不运行。当我这样做时,函数中的 DIMunwindFromSecondary也不会被调用。

编辑2:

刚刚将此行添加到我的viewDidAppear

最初会调用它,但不会再次调用。

问题:

在 unwindSegue 之后再次加载所有内容后,如何让函数运行?

有什么想法吗?

更新 3

好的,所以我查看了以下答案:

@MarkP答案工作正常。谢谢你但是,@iSee的回答让我想到也许我应该以不同的方式解决这个问题。

我在这篇文章中添加了一个赏金,以获得详细的答案,可以向我展示并解释如何实现以下目标:

在我的应用程序中。我需要继续确保在任何加载的视图上都存在互联网(可能是计时器)。我希望它像当前的方式一样,如果没有互联网,它将弹出带有此 segue 的 ViewController:

看来 App Delegate 会是这个地方,但我不确定如何实现这一点。

我是 iOS 开发的新手,因此希望得到一些解释和教学。

感谢您的时间。非常感谢。

0 投票
1 回答
2429 浏览

ios - Swift 3 通过可达性检查互联网连接

所以我正在考虑使用这个 GitHub api 来检查主机的可达性。:https ://github.com/ashleymills/Reachability.swift/tree/feature/ios10

但是它非常简单,在尝试编写将使用此代码的函数时遇到了一些错误。我从 viewdidload 调用它

这是我的错误日志:

编辑

在此处输入图像描述

0 投票
1 回答
416 浏览

ios - 为可达性创建一个易于使用的扩展/功能(主机/互联网 WIFI,蜂窝)

我正在开发一个复杂的应用程序,我想在每个从服务器接收数据的 ViewController 上测试两个主机的互联网可达性我目前正在使用这个库来实现可达性

https://github.com/ashleymills/Reachability.swift

我想创建一个简单的方法或扩展来检查互联网和主机的可达性我已经使用了下面库中的示例代码:`import UIKit

这很好,但我只需要一个布尔值来告诉我它是否已连接,可以通过应用程序重复使用

更新目前我正在使用以下课程:

并在 viewControllers 中使用,如下所示:

这样我只检查互联网我需要检查主机和互联网

0 投票
3 回答
468 浏览

ios - 使用reachabilitySwift检查互联网连接或wifi连接

我正在构建一个 iOS 应用程序,有时我需要检查应用程序对互联网的访问,所以我使用了 ReachabilitySwift 库。

经过一些测试,在我看来,图书馆只检查设备是否连接了 wifi 而没有从我的路由器提供实际的互联网连接。

假设我断开了路由器与互联网的连接,如果我的 iOS 设备通过 wifi 连接到路由器,可达性告诉我我们有互联网连接,而实际上我的路由器没有互联网。

我尝试了特定主机的可达性,但仍然有相同的结果

当 wifi 连接丢失或实际的互联网连接丢失时,可达性库是否应该提供反馈?

先感谢您。

0 投票
1 回答
767 浏览

ios - ReachabilitySwift 无法与 CocoaPods 一起安装

在我的 Podfile 中,我有:

但是当我运行时pod install,所有框架都设置正确,除了 ReachabilitySwift:

通过这个GitHub 链接,我找到了推荐的解决方案:

请添加一个

到 podspec 文件。否则每次 pod install 后都会报错。

但是我不知道在哪里可以找到 podspec 文件以及在什么位置插入这个字符串。