0

Until iOS 8, VoIP apps could start in the background automatically after booting. This required the app to include the voip value in the UIBackgroundModes key, as described here. iOS 8 replaced this system with PushKit, an architecture that used Push Notifications from Apple’s Push Notifications service (APNs) to inform the app of an incoming call. With this system there was no need for the VoIP app to start automatically so this functionality was removed. The legacy API remained available until the iOS 9 SDK, where it was officially deprecated, as stated in Apple’s documentation. It was available in iOS 10 as a compatibility measure, assuming applications were built using an older SDK, but not included in the iOS 10 SDK. There is a notice on that documentation page, however, that says it is possible to apply for an exception to continue using the legacy system on iOS 10 and later. Does this mean it is possible, in theory, to use the legacy system on iOS 11-14?

As some additional information, iOS 13 changed VoIP so that PushKit call notifications had to be handled by CallKit or iOS would refuse to deliver future PushKit notifications. This can be bypassed with the com.apple.developer.pushkit.unrestricted-voip entitlement, as seen here. Cisco has documented problems due to this. In the same document it says that support for the legacy VoIP APIs are no longer supported in Cisco Jabber from August 2020, but this seems like a development choice rather than being due to Apple.

My main reason for wanting to use the legacy architecture is to be able to start an app automatically at boot. Not having to register with APNs is also a benefit.

TwistyTurtleFish
  • 61
  • 1
  • 2
  • 8
  • What is your question? If you want to use these legacy modes then you need to ask Apple, but if an organisation like Cisco (who partner with Apple on wifi networking at the iOS level) can't get an exception then it is unlikely that you will receive permission, particularly if you aren't even providing a voip app. – Paulw11 Mar 10 '21 at 10:41
  • Sorry, I should have mentioned that Apple’s page on the legacy system hasn’t been updated since 2016 (iOS 10). Do the legacy APIs even exist in iOS anymore? – TwistyTurtleFish Mar 10 '21 at 11:24
  • Maybe, for supporting old versions of apps but even if they did, Apple wouldn't provide access for new apps. – Paulw11 Mar 10 '21 at 20:05
  • I’m not fussed about whether I can submit an app to the app store, just whether it’s possible in theory. I’ll setup a workstation and do some testing. – TwistyTurtleFish Mar 10 '21 at 21:48

0 Answers0