检查蜂窝数据是否已关闭

Checking if Cellular Data has been turned off

所以我做了很多研究,但我还没有完全找到我一直在寻找的答案...

我想做到这一点,如果蜂窝数据关闭 特别是我的应用程序,该应用程序将无法运行,或者至少需要几个按钮是隐藏的。

我设置了可达性,因此如果没有互联网连接,应用程序不会 运行。但是,如果用户已连接到互联网,但为我的应用关闭了蜂窝数据,并且他们未连接到 wifi,则应用 运行s(我不希望它这样做)。

非常感谢任何帮助!

我遇到了类似的问题并找到了这个解决方案。希望对您有所帮助。

func isCellularRestricted() {
        let cellState = CTCellularData.init()
        cellState.cellularDataRestrictionDidUpdateNotifier = { (dataRestrictedState) in
            if dataRestrictedState == CTCellularDataRestrictedState.restricted { // State has changed
                // your app doesn't have cellular data
            } else if dataRestrictedState ==  CTCellularDataRestrictedState.notRestricted {
                // your app does have cellular data
            }
        }
    }

这是我在我的应用程序委托中实现的功能(从 didFinishLaunchingWithOptions 调用)。每次用户更改您的应用程序的蜂窝数据时,它都会被调用,并且仅适用于您的应用程序。如果用户允许您的应用使用蜂窝数据并在 iOS 中关闭蜂窝数据,这仍然 return 不受限制。

在我的例子中,我设置了一个常量 true/false,具体取决于是否允许使用蜂窝数据。

我在某处找到了答案,但找不到 link。

编辑(发现 link):How do I know if cellular access for my iOS app is disabled?