【问题标题】:Howto Access WiFi Settings programmatically in iOS 5.1如何在 iOS 5.1 中以编程方式访问 WiFi 设置
【发布时间】:2012-04-04 00:42:19
【问题描述】:

我正在寻找一种让我的应用用户连接到 WiFi 网络的智能方式。我知道如何检测设备是否已连接。我尝试使用 URL 将用户定向到正确的首选项页面。不幸的是,这不再起作用了。有关如何要求用户连接到 WiFi 的任何建议???

感谢您的帮助!!!

【问题讨论】:

    标签: wifi ios5.1


    【解决方案1】:

    尝试使用它来访问 iOS 5.1 中的 WiFi 设置

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
    

    尝试使用它来访问 iOS 9 中的 WiFi 设置

    if (&UIApplicationOpenSettingsURLString != NULL) { 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]]; 
    }
    

    尝试添加像 stackoverflow.com/a/31253743/3668465 这样的首选 URL 方案。


    您可以使用此选项来识别 SSID:

    iOS >= 4.1 可以获取设备当前连接的无线网络的 SSID。

    为此,您将使用函数CNCopyCurrentNetworkInfo

    实现细节:iPhone get SSID without private library


    问题示例 -> how to programmatically open the WIFI settings in objective c in iOS9

    【讨论】:

    • 不幸的是,您为 iOS 5.1 建议的解决方案在 iOS 5.1 中停止工作。由于这个问题已经很老了,很遗憾我不能再使用你的 iOS 9 解决方案了。
    • 您尝试使用它“尝试为您的 URL 方案添加首选项,例如 stackoverflow.com/a/31253743/3668465 所做的。”。这样,命令 "prefs: root = WIFI" 将在任何 iOS 版本上恢复正常工作,我什至也是这样使用的。你应该完全按照链接的建议去做,肯定会奏效。
    • 你用 iOS 5.1 测试过吗?我的意思是在您提供的链接中,它指出 URL 方案在 iOS 9 中再次起作用,但我的问题涉及 iOS 5.1。正如我所说,这是一个老问题,我将无法对其进行测试。
    • 好的,我明白了。你有没有试过“[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];” ?因为它是一个旧命令可能会起作用。
    • 我有。这在 iOS 5.1 中停止工作并在 iOS 5 中工作。请阅读您在评论中提供的 sackoverflow 参考的其他答案。有人解释说这在 iOS 5.1 中停止工作,并在 iOS 8 中再次开始工作。
    猜你喜欢
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2011-12-19
    • 2011-12-09
    相关资源
    最近更新 更多