Ice icon indicating copy to clipboard operation
Ice copied to clipboard

[Bug]: MacOS 15 Privacy Popups

Open Xytronix opened this issue 1 year ago • 28 comments

Check existing issues

  • [X] 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

Xytronix avatar Jun 20 '24 16:06 Xytronix

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.

lume96 avatar Jun 20 '24 17:06 lume96

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 :)

jordanbaird avatar Jun 20 '24 20:06 jordanbaird

Here is it:

image

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

Xytronix avatar Jun 21 '24 06:06 Xytronix

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

Xytronix avatar Jun 24 '24 07:06 Xytronix

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.

jordanbaird avatar Jun 25 '24 12:06 jordanbaird

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)

WardsParadox avatar Jun 28 '24 16:06 WardsParadox

Looks like it's this line: https://github.com/jordanbaird/Ice/blob/79a833ee963b0d99a2798dbe10bd782f263569c8/Ice/Bridging/Bridging.swift#L221

WardsParadox avatar Jun 28 '24 16:06 WardsParadox

@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.

jordanbaird avatar Jun 28 '24 17:06 jordanbaird

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.

WardsParadox avatar Jun 28 '24 17:06 WardsParadox

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

https://github.com/jordanbaird/Ice/blob/79a833ee963b0d99a2798dbe10bd782f263569c8/Ice/Bridging/Bridging.swift#L213

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.

jordanbaird avatar Jun 28 '24 17:06 jordanbaird

@WardsParadox Any update on this?

jordanbaird avatar Jul 24 '24 03:07 jordanbaird

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.

WardsParadox avatar Jul 29 '24 17:07 WardsParadox

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

WardsParadox avatar Jul 31 '24 18:07 WardsParadox

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:

https://github.com/jordanbaird/Ice/blob/2332b0159adf1b4398f3bd56ebd800b2d07383e9/Ice/Bridging/Bridging.swift#L213

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

https://github.com/jordanbaird/Ice/blob/2332b0159adf1b4398f3bd56ebd800b2d07383e9/Ice/Bridging/Bridging.swift#L221

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

stonerl avatar Aug 02 '24 09:08 stonerl

@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.

jordanbaird avatar Aug 02 '24 13:08 jordanbaird

The popup has changed with macOS 15 beta 5.

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

stonerl avatar Aug 06 '24 11:08 stonerl

@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

WardsParadox avatar Aug 06 '24 17:08 WardsParadox

https://developer.apple.com/documentation/screencapturekit/scshareablecontent/3916730-getshareablecontentexcludingdesk?language=objc ?

terafin avatar Aug 08 '24 04:08 terafin

@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.

jordanbaird avatar Aug 08 '24 04:08 jordanbaird

@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.

jordanbaird avatar Aug 08 '24 04:08 jordanbaird

@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 avatar Aug 08 '24 05:08 terafin

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

jordanbaird avatar Aug 08 '24 05:08 jordanbaird

@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 avatar Aug 08 '24 05:08 terafin

@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 avatar Aug 08 '24 05:08 jordanbaird

@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)

terafin avatar Aug 08 '24 05:08 terafin

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

stonerl avatar Aug 15 '24 09:08 stonerl

@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.

jordanbaird avatar Aug 15 '24 12:08 jordanbaird

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

luckman212 avatar Aug 15 '24 12:08 luckman212

Why do they have to treat us like we're [REDACTED]? Let us "allow always", god damn it.

kocane avatar Sep 04 '24 12:09 kocane

@kocane While I do agree with your sentiment, please follow our code of conduct by keeping that kind of language outside of this repository. Thanks.

jordanbaird avatar Sep 04 '24 13:09 jordanbaird