对于 Swift 4/xcode:
我已经在互联网上搜索了该问题的解决方案,但我还没有找到涵盖所有基础的明确、全面的答案。Stack 上有几个在一定程度上回答了这个问题,包括诸如这些或AshleyMills Reachability之类的快速具体答案,但许多都是旧的且不全面的。
1.我想要检查互联网连接的方法,而不仅仅是连接到wifi。网上的一些方法只是检查 Wi-Fi 的连接,但不确认通过 wifi 可以访问互联网。我想要一种仅在检测到互联网连接时才返回 true 的方法。
2.此方法还必须对于蜂窝数据使用返回 true。是的,Wi-Fi 可以提供互联网连接,但数据也可以。如果提供了蜂窝/wifi 互联网中的一个或两个,则此方法需要足够全面才能返回 true。
最后,一个注释。在线没有完整的快速答案可以检查所有框的事实使我想知道我对这个问题的处理方法是否在更一般的意义上是不正确的。我的应用程序需要从数据库加载数据,这就是它需要互联网连接的原因。对于当今流行的应用程序来说,这是非常普遍的事情。应用程序不会因尝试在没有互联网连接的情况下加载其数据而崩溃。我认为他们所做的(这是这个问题的基础)是这样的:
if doesHaveInternetConnection{
//run loading data functions
}else{
//don't run loading data functions
}
这不是它的做法吗?如果没有,解决这个问题的更好方法是什么?