如何在iOS 5.1中以编程方式访问WiFi设置

5
我正在寻找一种智能的方式,让我的应用程序用户连接到WiFi网络。我知道如何检测设备是否已连接。我尝试使用URL将用户引导到正确的偏好设置页面。不幸的是,这种方法不再有效。有什么建议可以要求用户连接到WiFi吗?谢谢您的帮助!
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


问题示例 -> 如何在iOS9中使用Objective C以编程方式打开WIFI设置


很不幸,您为iOS 5.1提出的解决方案在iOS 5.1中停止工作。由于这个问题已经相当老了,我不能再使用您的iOS 9解决方案了。 - sensslen
你尝试使用它 “尝试像https://dev59.com/6msy5IYBdhLWcg3w5CBr#31253743那样添加prefs您的URL方案。”。通过这种方式,命令 “prefs: root = WIFI” 将在任何iOS版本上都能够完美地运行,我甚至就是这样使用的。你应该按照链接提出的建议去做,肯定会奏效。 - Helton Fernandes Sampaio
1
你已经在iOS 5.1上测试过了吗?我的意思是,在你提供的链接中,它说明URL Scheme在iOS 9中再次起作用,但我的问题涉及到iOS 5.1。正如我所说,这是一个旧问题,我将无法进行测试。 - sensslen
好的,我明白了。你有没有甚至尝试过“[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];”?因为它是一个旧命令,可能会起作用。 - Helton Fernandes Sampaio
1
我有一个问题。这在iOS 5.1中停止工作,在iOS 5中却正常运行。请阅读你在评论中提供的sackoverflow参考答案。那里的人们解释说,这在iOS 5.1中停止工作,但在iOS 8中重新开始工作了。 - sensslen
我理解。对于造成的不便我感到抱歉。我只使用7.0+,不知道在5.1中已经停用了。在这种情况下,我将无法帮助您。 - Helton Fernandes Sampaio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接