This is new with iOS11+ and enables your app to join a network using a known SSID. You can find the documentation over at Apple. To use it, you won’t have to request access to the super-secret hotspot APIs but there’s still a little configuration required.
The first step is to set the “Enable Hotspot Configuration” entitlement in your Entitlements.plist file:

This entitlement must also be configured in the developer portal when creating an app ID for your application:

With these settings in place you can start connecting to a network. The code is not complicated and requires the creation of an NEHotspotConfiguration object which specifies how the network will be used. Among the configurable parameters is for example a boolean that tells iOS if you are trying to access the network just temporarily or for longer. You should read the documentation to find out what settings work best for your case. Here’s a code example:
var config = new NEHotspotConfiguration(ssid, password, isWep: false);
config.JoinOnce = false;
var tcs = new TaskCompletionSource<NSError>();
NEHotspotConfigurationManager.SharedManager.ApplyConfiguration(config, err => tcs.SetResult(err));
var error = await tcs.Task;
if (error != null)
{
var alert = new UIAlertController
{
Title = "Error",
Message = error.Description
};
alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
PresentViewController(alert, true, null);
return;
}
Note:If in IOS 12, you also need to set this in Entitlement :

and AppID:
