
iOS 10 quietly deprecated a crucial API for VoIP and communication apps - MilnerRoute
https://apple.slashdot.org/story/17/08/12/1932221/ios-10-quietly-deprecated-a-crucial-api-for-voip-and-communication-apps
======
davidmurdoch
Looks like this prevents the workaround where devs would register their app as
a VOIP app so they could use the persistent background socket allowed for VOIP
apps. It's not an abuse Apple was really permitting anyway. I was going to try
to use this trick in a mobile game so I didn't have to reconnect the websocket
everytime the game gets backgrounded but figured Apple would crack down in one
way or another even if I could sneak it by.

------
saurik
It really sucks that in addition to taking away the ability for users to make
their own decisions and tradeoffs with respect to functionality vs data usage
and battery life this also forces developers to build systems that are
centralized in ways that undermine user privacy and create easy-to-block
bottlenecks :/.

~~~
floatingatoll
WRONG WRONG WRONG - see below

Note that enterprises, and expert users, can still provision a custom push
profile that routes these notifications through their own hosted push server
rather than through Apple’s. This is not useful for App Store users, but App
Store users are also not likely to know or care about this change.

~~~
saurik
So in your "CORRECT CORRECT CORRECT" version of the world, every single person
who wants to make a VoIP call will have to buy an Apple developer account and
set up a "custom push profile" with a "their own hosted push server" (which I
guess I will assume is truly hosted and doesn't go through Apple, even though
that feels unlikely to me) that the other person will have to install on their
phone first in order to make an end-to-end encrypted phone call? I hope you
understand that this is even worse than just having a centralized signaling
server, and is "complete bullshit".

~~~
floatingatoll
I don't agree with what you wrote, but that's as far as I can figure out how
to respond, sorry.

------
xg15
So do I understand this correctly? For a messenger app would that mean that,
unless the app is in foreground, _every single chat message_ will need to be
delivered via Apple's push servers?

~~~
floatingatoll
The push notification need not contain the message, no, but it’s often more
efficient that way.

------
tinus_hn
In other news, it's not really feasible to have a multitude of apps that all
claim to have to run in the background on a mobile device.

If you want to try anyway or you're in one of the rather contrived situations
where Apples solution doesn't work, consider an Android device.

~~~
xg15
Contrieved situations like... taking a voip call?

~~~
floatingatoll
More like, “my employer blocks Apple services, but I still want to use an
unsupported mobile VoIP client at work”.

