I am implementing an app through Xamarin.
Is it possible to programmatically connect to an SSID which is already remembered by the phone in iOS?
No, it is not possible to connect to a known network, without providing the necessary credentials, due to various security reasons.
In order to connect to a network, you need to create a NEHotspotConfiguration
The class requires either only SSID (for open networks), or SSID with some credentials for authentication.
After the configuration is created, you can connect via NEHotspotConfigurationManager like so:
await NEHotspotConfigurationManager.SharedManager.ApplyConfigurationAsync(config);
NB: Keep in mind that to connect to a network, you need to enable the Hotspot capability in your App Capabilities Working with capabilities.
Related
I realize the user can enable a hot spot, set the passkey and it will broadcast as their phones name, e.g Joe's iPhone
But is there away to turn on the hotspot programmatically in iOS and configure the ssid /wpa key?
For example I have another device searching for ssid mynetwork with password secret and I would like it to automatically connect to a hotspot my iOS app sets up without the user having to configure their hotspot manually
Currently No API available to create Hotspot.
You could Create new hotspot configurations for open, WEP, WPA/WPA2 personal, WPA/WPA enterprise, and Hotspot 2.0 Wi-Fi networks Using NEHotspotConfiguration Network Extension to connect to Wi-Fi networks.
init(ssid:passphrase:isWEP:)
Available iOS 11.0+
I want to get wifi's SSID and password from server and I have to check any available wifi's SSID is matched with my server's SSID. If any matched, I have to connect with that wifi using its password. I have read many post related to this but I couldn't get any answer.
This is not possible in iOS. The only thing you can retrieve is the SSID after the user has connected to one of the Wi-Fi networks using the regular iOS UI.
You can use Hotspot Configuration to register SSID/password to connect to.
For more info, see iOS - How to programmatically connect to a WiFi network given the SSID and Password using a private/3rd party library
Is it possible to connect to WLAN using swift, in case I receive WLAN SSID and password from API with my permissions, and before connection I also accept Terms & Conditions. So as a user I totally agree that to happen through a particular app. So I'll search for/or get my local area network by name/WLAN SSID, and connect to it by password but all should go through code. The point is that even though I've a secured wlan, everyone who comes to my store and has my app to be able to connect to wifi even though it's secured.
I have to iphone applications that they use two different networks. Changing network setting for each application is not user friendly. I want to do such thing as follows,
When application starts, it checks the availability of particular network (SSID) and popup a message to the user to permit to connect. Once user click on "OK" they it connect to that particular network.
Anybody has similar experience ?
How can I connect to given SSID using objectiveC ?
I've been reading for a solution to achieve app controlled networking, but it seems impossible without the use of Apple80211 private API.
The best i think you can do is with CaptiveNetwork.
With this you can register a list of SSID's for your device and it will suppress web sheet.
From the doc:
By calling the CNSetSupportedSSIDs function, an application can register a list of wireless network SSIDs with Captive Network Support, thereby assuming responsibility for authenticating with those networks. Typically when a user joins a captive network, Captive Network Support provides a web sheet that allows the user to authenticate with the network. If an application has registered the SSID of the captive network, however, the web sheet is suppressed, and the user can complete authentication in the appropriate application.
I have to build an App that connects to a special Wi-Fi network and the opens an Ip address that is only available withing the network.
Is it possible to connect to a special wi-fi network (say "Network XYZ") via iPhone App. If so, please let know, so that I have an idea how to solve this.
Sadly no. Not from within the app.
All you can do is instruct user to go to settings and connect to that network.
If iPhone was not registered to any WiFi network before entering your app and your app has usesWiFi key set to YES then user will get a list of available networks to choose from.
One more big problem is: there are no AdHoc networks on this list - only infrastructure networks. AdHoc networks are available only trough settings.
What you could do is to instruct your user to set the auto-join feature on for desired network.
I'm afraid the only way to change the network is via the Settings application. Otherwise, rogue apps might be able to move users to their own proxies without the user's knowing.
It may be possible on jailbroken devices, however, as you would no longer be confined to working within the usual app restrictions on accessing system-level settings.
You can have your app launch once the user connects to the SSID you specify using the CaptiveNetwork API.