jordanbaird / Ice

Powerful menu bar manager for macOS

Home Page:https://icemenubar.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug]: MacOS 15 Privacy Popups

Xytronix opened this issue · comments

Check existing issues

  • I have checked existing issues and believe that my issue is not a duplicate

Description

So since macos 15 I get this popup each time Ice records something on my screen. If I click Continue, it popups again.
This is very annoying, anything that could be done to keep it to a minimum?

Steps to Reproduce

  1. Install MacOS 15
  2. Run Ice

Ice Version

0.10.0-beta.4

macOS Version

15.0

Screenshots

image

Hi,
experiencing the same issue here (apart message being in French, not German ;-) ) on the same setup (MacOS 15 beta 1 and Ice 0.10 Beta 4)

However 2 points :

  1. on my laptop this mainly only pops up once at the beginning of a session. Once I choose "continue to allow" I'm okay for the rest of the session
  2. to answer to Jordans comment in the other thread : I do have other apps that are allowed to record screen and audio, such as CleanShotX and BTT that have never, up to now, seen this pop up regarding those other apps.

Does anyone have an English version of the alert? Preferably not a translation, but the actual English alert that shows up, so I can Google it :)

Here is it:

image

It stopped reappearing after clicking continue since a reboot. It appears every time Ice is launched after a reboot.

Did occur again after being in standby for a while even when Ice was closed

I think this is most likely a bug with the macOS 15 beta. In fact, it seems like I remember reading something similar happening in some of the early macOS 14 betas that was resolved before its official release.

This is not due to a bug in macOS 15, this is due to the following per Apple's documentation and enterprise support recommendations:

Applications utilizing deprecated APIs for content capture such as CGDisplayStream & CGWindowListCreateImage can trigger system alerts indicating they might be able to collect detailed information about the user. Developers need to migrate to ScreenCaptureKit and SCContentSharingPicker. (120910350)

https://developer.apple.com/documentation/macos-release-notes/macos-15-release-notes#Deprecations

This was announced in 2022 with Sonoma beta, and the experience was so poor Apple removed the notifications in favor of the next OS (now 15, Sequoia)

Looks like it's this line:

CGWindowListCreateImage(screenBounds, .optionIncludingWindow, windowID, option)

@WardsParadox We don't have the option to use ScreenCaptureKit. It can't capture of offscreen items. Until Apple adds support for that, this is quite literally our only option.

I'll let our support know this and see what they suggest. ☝🏻This☝🏻may be enough for us to push this further back. It also shouldn't be prompting more than once like it is now which is feedback we're already sending in.

Thanks for the further info.

It's this line that lets us do the offscreen capture:

return CGImage(windowListFromArrayScreenBounds: screenBounds, windowArray: windowArray, imageOption: option)

Which is the Swift overlay for CGWindowListCreateImageFromArray, so the same family of functions. In the meantime, I can migrate the line you linked above to use SCScreenshotManager.

@WardsParadox Any update on this?

So far the response is "Developers need to move onto newer APIs" unfortunately. So we're starting the "and if those API's don't exist" talks.

We've put additional pressure through our enterprise channel, so 🤞🏻 for some additional info soon.

Just to add my 2 cents. I know most of it has been said, but here is a summary.

This is from macOS 15 Beta 4 Release Notes:

ScreenCaptureKit

New Features

  • Windows recorded using the new SCRecordingOutputConfiguration API will now have a new "Stop Recording This Window" menu item in the purple window menu to stop the window's recording stream. (125112908)

Deprecations

  • Applications utilizing deprecated APIs for content capture such as CGDisplayStream & CGWindowListCreateImage can trigger system alerts indicating they might be able to collect detailed information about the user. Developers need to migrate to ScreenCaptureKit and SCContentSharingPicker. (120910350)

Also in Xcode I get deprecation messages for the following lines:

return CGImage(windowListFromArrayScreenBounds: screenBounds, windowArray: windowArray, imageOption: option)

'init(windowListFromArrayScreenBounds:windowArray:imageOption:)' was deprecated in macOS 14.0: Please use ScreenCaptureKit instead.

CGWindowListCreateImage(screenBounds, .optionIncludingWindow, windowID, option)

'CGWindowListCreateImage' was deprecated in macOS 14.0: Please use ScreenCaptureKit instead.

@WardsParadox Would it help if I opened my own ticket with Apple? Maybe additional feedback would help them see that this is indeed a problem.

The popup has changed with macOS 15 beta 5.

CleanShot 2024-08-06 at 13 20 54@2x

@WardsParadox Would it help if I opened my own ticket with Apple? Maybe additional feedback would help them see that this is indeed a problem.

It looks like my previous comment never posted. Yes please! If you can link the ID of the case, I'll reference it on ours as an impacted app due to missing APIs

@terafin The problem isn't getting the windows. The problem is capturing an image from them. It's been a while since I messed with it, but if I'm remembering correctly, it either throws an error, hangs, or returns a blank image.

@stonerl Yikes. This is even worse than before. People are going to panic when they see that. I want to make it clear that Ice does NOT record private aspects of the screen and never will.

Here are the things it captures:

  1. The desktop wallpaper image, so it can display it over the top of the menu bar when using the various menu bar shape options. It doesn't capture desktop icons, or widgets. Just the wallpaper.
  2. Individual menu bar items, so it can display them in settings and the Ice Bar.

@terafin The problem isn't getting the windows. The problem is capturing an image from them. It's been a while since I messed with it, but if I'm remembering correctly, it either throws an error, hangs, or returns a blank image.

Might be worth trying again, worked for me :)

@terafin Even for offscreen menu bar items? Maybe they fixed it. Which version of macOS?

@terafin Even for offscreen menu bar items? Maybe they fixed it. Which version of macOS?

Didn't try that, but 14.5, worth a shot?

@terafin I guess it's worth another shot, but onscreen items have never been the problem. It's only ever been offscreen, so I doubt anything has changed. I'll still check though.

@terafin I guess it's worth another shot, but onscreen items have never been the problem. It's only ever been offscreen, so I doubt anything has changed. I'll still check though.

@jordanbaird Awesome, thanks! I suspect if it doesn't work, that might be a more concise and clear bug report since I think that's the "intended" API :) Who knows, maybe it's a more specific bug that can be fixed! (Note: Offscreen worked for me, just never tried menu bars)

According to 9to5mac it now only asks once a month Link to article

@stonerl That's better than it was at least, but I agree with their opinion that it's still over the top. In my opinion, it should be an opt-in feature, or at least let users opt out for individual apps. The wording of the alert is improving as well. I'm still going to submit feedback to Apple about the missing functionality in ScreenCaptureKit, since I really do want to migrate to the newer APIs. But this at least makes it a little less pressing.

Looks like macOS 15 is truly going to be Apple's Vista...