I am developing a VoIP application that uses NetworkExtension (Local PUSH function) And VoIP(APNs) PUSH.
Since iPhone X, iPhones have supported eSIM, allowing for the simultaneous use of a physical SIM and an eSIM. Consequently, users of our VoIP app have requested the ability to lock the network used by the VoIP app to either the eSIM or the physical SIM.
Our VoIP app utilizes the network through the socket API. Is there an API in the iOS SDK to lock the network used via sockets to either the eSIM or the physical SIM?
In other words, we would like to be able to retrieve the IP address assigned to the eSIM or the physical SIM in advance, and know which IP address is assigned to which SIM. Are there any such APIs available (that are not "Deprecated")
By "managed environments," I assumed you meant MDM, is that correct?
Yes.
So, if there is any solution that is based on the premise of "using it in an MDM environment," I would like to know detail of about it.
I’m not sure there is a solution, but there are certainly things to explore. Specifically, when you install an app via MDM, you’re able to apply a cellular slice ID, and it’s possible that site managers could take advantage of that for this situation.
See the CellularSliceUUID
property documented here.
I don’t manage devices for living — my focus is on APIs — and thus I don’t have direct experience with how to set this up. But I think it warrants investigation at your end.
If this doesn’t pan out then it’s still a useful lesson: Apple provides a lot more configuration options on managed devices than we do an unmanaged ones. You could reasonably file an enhancement request requesting a management option to bind a specific app to a specific SIM’s WWAN.
Such an ER is likely to get more traction than, say, an ER requesting APIs to identify WWAN interfaces, because APIs are available to all developers and thus have wider concerns, like privacy.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"