Warning: deprecated method on MAC OS

I am using openCV-python version 4.9.0 on a MACOS M1 chip Sonoma 14.1.0 version with VSCode.

I receive the following message. ''WARNING: AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist". For now, my programs are working but may not be soon. I have researched the .plist which appear require Xcode to modify. I do see that there are specific .Plist editors. I’m encountering a lot of mention. About plists but really don’t understand how to access them and make the recommended changes. I have the module Xcode-select installed on my Mac but not either Xcode via the terminal in the PATH nor have I downloaded the Xcode app. My head is spinning (not spewing green luminescent vomit- yet).

This is apple’s information on ‘information property list’

Found a number of mentions of plists and modifying them but I can definitely benefit from an experienced hand at this.I’m afraid of breaking something that currently is working.

‘sarunw / posts’ has a post with the following ‘what-is-info-plist’ :

What is Info.plist in Xcode

What is Info.plist

The App’s Information Property List or Info.plist is a file that contains information that describes an app.

It contains basic information like:

  • App name
  • App version
  • App build number
  • Custom fonts

And also contain platform-specific information like:

  • Supported orientation for iPhone/iPad
  • Launch screen destination
  • Privacy reason for a hardware usage

To open the Info tab.

  1. Select the project root directory from the Project Navigator.
  2. Select your app target.
  3. Then, select “Info” tab. ++I don’t understand how to access the folder where the info.plist for Continuity Camera is and, if I did, how to alter it. Hoping you can help.

no thing apple here, so just some “common sense”:

  • this is just a c++ warning. the used api will be deprecated in the future.
  • there is nothing you can do about it from python
  • how did you install this ?
  • please show, how you invoke the VideoCapture (code!)
    which opencv backend is used ? (so we can look into the resp. c++ code)

Another discussion involving this (on the wrong repo):

Looks like the answer for me is to not use Sonoma.

If you can’t use your camera or video output device after updating to macOS Sonoma 14.1

Starting in macOS Sonoma 14.1, cameras and video output devices that don’t use modern system extensions won’t be available to use unless you restore the legacy settings.

Starting in macOS Sonoma 14.1, only cameras and video output devices that use modern system extensions are supported on macOS. This modern software provides more secure and privacy conscious experience, including support for the camera privacy indicator — a green dot icon that displays in the menu bar while your camera is in use.

If your camera or video output device still uses older software, it won’t appear as an option to select and use in apps after you update to macOS Sonoma 14.1.

Apple has been working with video device makers to update their support software to the modern camera extension replacement, which became available in macOS Monterey 12.3. However, some video device makers haven’t yet updated — so their cameras or video output devices still rely on software that is no longer supported.

Thank you, no one there had any suggestions on how to access the Info.plist file in question. When I go to Finder and search Info.plist on the computer hard drive, I have about a dozen hits. When I open them, they are clearly not the one one desired.Looks like the answer for me is to not use Sonoma.

If you can’t use your camera or video output device after updating to macOS Sonoma 14.1

'Starting in macOS Sonoma 14.1, cameras and video output devices that don’t use modern system extensions won’t be available to use unless you restore the legacy settings.

Starting in macOS Sonoma 14.1, only cameras and video output devices that use modern system extensions are supported on macOS. This modern software provides more secure and privacy conscious experience, including support for the camera privacy indicator — a green dot icon that displays in the menu bar while your camera is in use.

If your camera or video output device still uses older software, it won’t appear as an option to select and use in apps after you update to macOS Sonoma 14.1.

Apple has been working with video device makers to update their support software to the modern camera extension replacement, which became available in macOS Monterey 12.3. However, some video device makers haven’t yet updated — so their cameras or video output devices still rely on software that is no longer supported.’

Having thie same issue in Sequoia 15.0.1. If it wasn’t deprecated before it certainly is now.

This will trigger it.

webcam_video_stream = cv2.VideoCapture(0)

AVCaptureDeviceTypeExternal is deprecated for Continuity Cameras. Please use AVCaptureDeviceTypeContinuityCamera and add NSCameraUseContinuityCameraDeviceType to your Info.plist.

I’d recommend that you check the main repo (GitHub - opencv/opencv: Open Source Computer Vision Library) for an existing issue. if there isn’t one, start one. that’ll help whoever cares for the videoio backend on macos to plan work on this.

1 Like