Do I need the multitasking camera access entitlement during development or just when submitting an app

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

A quick update on this: I've fixed an issue where I was providing an incorrect CMTimeRange via my AVPictureInPictureSampleBufferPlaybackDelegate, so frames are now rendering as expected in PiP mode.

The question about whether we can get the camera to work in background mode during development still stands though.

Thanks

hi, can u provide sample github? Thanks so much

Do I need the multitasking camera access entitlement during development or just when submitting an app
 
 
Q