Hi!
I have a question about the iOS15 picture-in-picture APIs for video calls in VoIP apps.
I understand that for an app to continue using the camera when a video call is using PiP in background mode, it needs the com.apple.developer.avfoundation.multitasking-camera-access
entitlement. Is this entitlement needed for development purposes as well, i.e. when developing such an app and running on device via Xcode, do I need that entitlement to be able to test the feature locally?
I've followed the PiP guides and created a sample app that feeds frames into an AVSampleBufferDisplayLayer
ready for PiP - I can see video from the remote end of the call (coming in from a web browser) rendering as expected when the app is in the foreground, but when I press the home button to start PiP multitasking, the PiP UI just shows a spinner. My logs show that frames are still being sent to the AVSampleBufferDisplayLayer
in the background, but nothing is rendering.
I was wondering if this is connected in some way to me not having the entitlement.
So I guess there are 2 questions here:
- Does the app need the
com.apple.developer.avfoundation.multitasking-camera-access
entitlement to work during development, or is it only a requirement when submitting to the app store? - Could the absence of the entitlement be the reason why PiP isn't rendering video frames from the remote end (which isn't an iOS device)?
Thanks for your help in advance!
Ceri