ivpn / ios-app

Official IVPN iOS app
https://www.ivpn.net/apps-ios
GNU General Public License v3.0
451 stars 94 forks source link

iOS 15 Beta - WiFi network not recognized when enabling Network Protection #153

Closed gorkapernas closed 3 years ago

gorkapernas commented 3 years ago

Description:

On iOS 15 Beta, IVPN 2.4.2 (2), when enabling Network Protection, the available WIFI networks are never recognized. The list of available networks is not shown and when opening the sliding panel in the main screen, the label "No network" is displayed.

@jurajhilje I'm not sure if this is an issue on our app, the problem does not happen iOS 14.

Steps to reproduce:

  1. Install 2.4.2 (2) on an iOS 15 device.
  2. Login.
  3. Connect to install the VPN profile.
  4. Enable Network Protection.
  5. Observe that the list of available networks is not shown, and the label "No network" is displayed in the main screen.

Environment:

OS: iOS 15 Device: iPhone XR IVPN version: 2.4.2 (2)

jurajhilje commented 3 years ago

CNCopyCurrentNetworkInfo used to fetch the current Wi-Fi SSID is deprecated in iOS 15. Looking for possible workarounds.

More info:
https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo

jurajhilje commented 3 years ago

NEHotspotNetwork.fetchCurrent is currently not working (on my end) on iOS 15.

A bug report has been submitted to Apple. More info here: https://developer.apple.com/forums/thread/670970?page=1#682297022

jurajhilje commented 3 years ago

Tested on iPadOS 15 Beta 8. Issue is not fixed.

jurajhilje commented 3 years ago

Tested on iPadOS 15 GM. Issue is not fixed.

jurajhilje commented 3 years ago

Tested on iPadOS 15.1 Beta. Issue is not fixed.

jurajhilje commented 3 years ago

Tested on iPadOS 15.1 Beta 4. Issue is not fixed.

jurajhilje commented 3 years ago

@gorkapernas I implemented the new API (using NEHotspotNetwork) for fetching WiFi SSID, for all devices running iOS 14+. This way, when Apple fixes NEHotspotNetwork.fetchCurrent API in one of the next iOS 15 versions, our iOS app will already support that fix. For now, we can only test that the new API implemented here works OK on iOS 14 devices. This is available in the latest TestFlight build.

gorkapernas commented 3 years ago

Verified on version 2.5.0(16), iPad 6 iOS 14.6, the app is able to recognise the WIFI SSID after adding the VPN Profile.

Behaviour observed:

These points have been confirmed as expected.

jurajhilje commented 3 years ago

Issue is FIXED on iOS 15.1 RC / public release.

@gorkapernas Let me know if you can confirm this on your end, using 2.5.0 (17) build.

gorkapernas commented 3 years ago

@jurajhilje confirmed, the issue is fixed on the iOS release candidate 15.1 with the latest beta 2.5.0.