WebAuthenticationSession under a carrier-provided satellite network?

(related post: How to optimize my app for for a carrier-provided satellite network? )

I am trying to implement an app so that it works under a carrier-provided satellite network.

The app uses (AS)WebAuthenticationSession for signing in. If the app is entitled to access a satellite network, will (AS)WebAuthenticationSession work as well?

How about WKWebView and SFSafariViewController?

Is there a way to test(simulate) a ultra-constrained network on a device or a simulator to see the expected behavior?

Thanks,

Answered by DTS Engineer in 847149022

I was hoping that you’d be able to use Network Link Conditioner to simulate an ultra-constrained network, but I ran that past the networking team and they told me that it’s not really set up for that:

  • It doesn’t provide a way to flag an interface as ultra-constrained.

  • While it lets you manually configure various network parameters, there isn’t a combination of parameters that reasonably simulate satellite networking.

Clearly this is less than ideal, in that it gives you no good way to test your code. You have to have a real device with a carrier that supports satellite and then take that device somewhere it can see satellites but has no cell service.

I encourage you to file an enhancement request for a developer-oriented feature that let’s you test your ultra-constrained networking code. Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

If the app is entitled to access a satellite network, will (AS)WebAuthenticationSession work as well?

That seems unlikely. As I mentioned on your other thread, you have to opt in to this support via the allowUltraConstrainedPaths property, and it’s unlikely that these sorts of high-level APIs will do that.

Moreover, I suspect that you wouldn’t want them to do that, because ultra constrained networks are far too constrained for the large HTTP transactions used by these technologies.

Is there a way to test(simulate) a ultra-constrained network on a device or a simulator to see the expected behavior?

The simulator won’t help here. In general, you should test this sort of weird networking edge cases in on an actual device.

As to what you can do on a real device, I suspect that there might be some useful options to explore but I need to confirm some things first. I’ll get back to you.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Moreover, I suspect that you wouldn’t want them to do that, because ultra constrained networks are far too constrained for the large HTTP transactions used by these technologies.

I'm not asking with a specific carrier in my mind, but a source says a direct-to-cell satellite network can provide 4.4Mbps or 18.3Mbps of downlink bandwidth. Will iOS still consider such a network as an ultraConstrained network?

(ref: https://www.scribd.com/document/612879369/Technical-Narrative-1 )

Again, what I want to achieve is to allow users to log in to my app with WebAuthenticationSession or UIWebView even when the device is under a carrier-provided satellite network. Typical users should have logged in before coming to a place where cellular networks is not readily available, but I don't want to lose a possible edge case when a user happened to have my app installed on their device but not have logged in.

If a carrier-provided satellite network could only provide a few Kbps of bandwidth, iOS should have considered such a network as ultraConstrained, but if the network has a few Mbps or even a few hundred Kbps of bandwidth, then showing a simple login web page should be possible.

I have assumed that a carrier-provided satellite network is always a ultraConstrained network, and to be able to use it my app needs to opt in to allowUltraConstainedPaths property. Is my assumption still true?

Thanks again,

I was hoping that you’d be able to use Network Link Conditioner to simulate an ultra-constrained network, but I ran that past the networking team and they told me that it’s not really set up for that:

  • It doesn’t provide a way to flag an interface as ultra-constrained.

  • While it lets you manually configure various network parameters, there isn’t a combination of parameters that reasonably simulate satellite networking.

Clearly this is less than ideal, in that it gives you no good way to test your code. You have to have a real device with a carrier that supports satellite and then take that device somewhere it can see satellites but has no cell service.

I encourage you to file an enhancement request for a developer-oriented feature that let’s you test your ultra-constrained networking code. Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

WebAuthenticationSession under a carrier-provided satellite network?
 
 
Q