Zoom gained access to private iPad camera API for special multitasking
App developer Jeremy Provost discovered that Apple has given Zoom access to a private iPad camera API. With that, the meeting app is the only one, except by Appleās FaceTime, being able to use the camera during iPad Split View multitasking.
With this feature only available on the Zoom app, it gives an advantage to the app among the others, since the user can use the Split View multitasking to access Twitter, a notes app, etc.
As Provost explains in hisĀ blog post, when he first discovered Zoom could take advantage of the Split View feature, he started to search for the process for other developers being able to do the same.
āWe asked Zoom and to our surprise, they gave us the answer, and in the process revealed an apparently private process, available only to those deemed worthy by Apple.ā
To receive access to some API, Apple must give an āentitlement,ā which is a right or privilege that grants an executable particular capabilities. Apple explains:
āFor example, an app needs theĀ
HomeKit Entitlement
Ā ā along with explicit user consent ā to access a userās home automation network. An app stores its entitlements as key-value pairs embedded in the code signature of its binary executable.ā
While Apple provides public documentation and a process for requesting access to entitlements, for example, Provost discovered that there isnāt a public process for requesting this specific API.
Ā As weāve been informed, it is called com.apple.developer.avfoundation.multitasking-camera-access. Unfortunately, unlike with CarPlay there is no public process for requesting this entitlement. In fact, its existence is not even documented by Apple publicly. Go ahead and Google it, youāll only turn up the Zoom Developer Forum.
While itās still unknown why Apple only gave this particular feature for the Zoom app ā as the company says, it treats every developer the same, on Thursday, App Store VP testified in Epic trialĀ as emails revealed special API access for Hulu and other devs:
āOne email shows there was an internal question about why Hulu was able to switch between App Store billing and Hulu billing. As it turns out, Hulu is part of a āset of whitelisted developersā with access to the subscription cancel/refund API. The company had initially given Hulu access to this API to support upgrade and downgrade plan changes before this was natively built-in to the App Store.ā
On the other hand, in the āSpring Loadedā event in April, Apple announced a feature called Center Stage, exclusively available on theĀ M1 iPad Pro, and will let all videoconference apps be able to take advantage of it if their developers choose to.
With the Center Stage feature, the Ultra-Wide front camera will be able to track the user in a conference and position him in the center of the frame. As for now, if you use an iPad in landscape mode, youāll probably not look good in front of the camera.
iPad Camera Multitasking
A few months back I was surprised to see thatĀ ZoomĀ had somehow been able to tap into using the camera during iPad Split View multitasking. This is an obvious feature for a videoconferencing app so that you can keep one eye on your meeting while you consult notes, look at a presentation, or slack off on Twitter.
I scoured the web and found no reference to how to enable this feature for our own iOS Zoom client,Ā Participant for Zoom. We asked Zoom and to our surprise they gave us the answer, and in the process revealed an apparently private process, available only to those deemed worthy by Apple.
This capability is enabled by means of an entitlement. You canĀ read more about entitlements here. In order to access certain OS features, app developers enableĀ publicĀ entitlements, like iCloud access or push notifications. ButĀ for quite some time there have also existedĀ privateĀ entitlements.Ā One example is the ability for an app to integrate with CarPlay.
Apple providesĀ public documentationĀ and aĀ process for requesting CarPlay accessĀ that any developer can apply for. Of course, Apple wisely restricts what types of apps can integrate with CarPlay. You need to fall into one of the following categories:
- Audio
- Automaker
- Communication
- EV Charging
- Navigation
- Parking
- Quick Food Ordering
Once Apple has granted you the entitlement it will appear in your developer account for you to add to a particular app.
So then, what is the entitlement for iPad Camera Multitasking?Ā As weāve been informed, it is called com.apple.developer.avfoundation.multitasking-camera-access. Unfortunately, unlike with CarPlay there is no public process for requesting this entitlement. In fact, its existence is not even documented by Apple publicly. Go ahead and Google it, youāll only turn up the Zoom Developer Forum.
Itās understandable that this entitlement may not be appropriate for every app, or perhaps there may be ways for it to be abused. Maybe it makes sense for there to be an approval process, like with CarPlay. But it doesnāt make sense for this to be private, undocumented, and only accessible to Appleās preferred partners. You canāt sayĀ āwe treat every developer the sameāĀ while privately giving special capabilities toĀ certain developers.
Weāve gone ahead and reached out to Apple through their developer contact page and made a request forĀ āiPad Camera Multitaskingā. Weāll see where this goes.