Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift iOS 13:WiFi SSID允许一次定位权限导致错误:[]nehelper为Wi-Fi信息请求发送了无效的结果代码[1]_Swift_Location_Wifi_Ios13 - Fatal编程技术网

Swift iOS 13:WiFi SSID允许一次定位权限导致错误:[]nehelper为Wi-Fi信息请求发送了无效的结果代码[1]

Swift iOS 13:WiFi SSID允许一次定位权限导致错误:[]nehelper为Wi-Fi信息请求发送了无效的结果代码[1],swift,location,wifi,ios13,Swift,Location,Wifi,Ios13,我一直在我的应用程序中使用WiFi信息。到目前为止,我一直在完美地使用此功能,但自从iOS 13和引入新的位置权限“允许一次”后,它向我抛出了以下错误:[]nehelper发送了无效的结果代码[1]用于Wi-Fi信息请求。在我的应用程序中,当我第二次尝试切换到WiFi设置页面以连接到WiFi SSID时,会出现此错误 允许一次权限: 它提供临时授权,类似于“使用时”权限,但仅在单个会话中处于活动状态。因此,如果用户选择“允许一次”权限选项,您的应用程序可以访问其当前位置,直到您的应用程序移动到后

我一直在我的应用程序中使用WiFi信息。到目前为止,我一直在完美地使用此功能,但自从iOS 13和引入新的位置权限“允许一次”后,它向我抛出了以下错误:[]nehelper发送了无效的结果代码[1]用于Wi-Fi信息请求。在我的应用程序中,当我第二次尝试切换到WiFi设置页面以连接到WiFi SSID时,会出现此错误

允许一次权限:

它提供临时授权,类似于“使用时”权限,但仅在单个会话中处于活动状态。因此,如果用户选择“允许一次”权限选项,您的应用程序可以访问其当前位置,直到您的应用程序移动到后台并处于非活动状态。如果你的应用再次激活,你必须再次请求位置许可

以下是我获取位置权限的代码:

在我的情况下,我选择允许一次权限,然后到后台两次,总共选择两次WiFi接入点。它第一次起作用,但第二次它没有给我连接的WiFi SSID信息,而是给了我以下错误:[]nehelper为Wi-Fi信息请求发送了无效的结果代码[1]。我如何在“允许一次”位置权限中始终连接WiFi SSID?根据iOS 13中的新变化,如下所示:

WiFi配置使用CNCopyCurrentNetworkInfo,它返回 给定网络接口的当前网络信息。那么这个 字典包含我们当前的网络信息,主要是wifi的SSID 网络

请求的应用程序必须满足以下要求:

该应用程序使用核心位置,并拥有用户的使用授权 位置信息

未能满足上述要求的应用程序将收到 以下返回值:

与iOS 12或更早版本链接的应用程序会收到带有 伪值。在这种情况下,SSID是Wi-Fi(或中国的WLAN) 区域),BSSID为00:00:00:00:00

针对*iOS 13*或更高版本链接的应用程序接收空值

如果您不满足上述条件,CNCopyCurrentNetworkInfo将在iOS 13中始终返回nil

参考: [


你还没问任何问题。@Magnas我补充了细节。谢谢
locationManager.delegate = self
locationManager.distanceFilter = kCLDistanceFilterNone
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.allowsBackgroundLocationUpdates = true
locationManager.pausesLocationUpdatesAutomatically = false
locationManager.requestAlwaysAuthorization()