Usage of `CGSRegionRelease` in `core-graphics` prevents publishing to the Mac AppStore
My app got rejected from the Mac AppStore with the following message:
Guideline 2.5.1 - Performance - Software Requirements
Your app uses or references the following non-public or deprecated APIs:
Contents/MacOS/***
Symbols:
• _CGSRegionRelease
The use of non-public or deprecated APIs is not permitted on the App Store, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms.
I believe the offending code is here: https://github.com/servo/core-foundation-rs/blob/0933af08be6cf1ba5ad3b0abfc05bbead489116b/core-graphics/src/private.rs#L24
I haven't found any workaround yet, any help would be greatly appreciated.
These were introduced in https://github.com/servo/core-graphics-rs/pull/50.
There is no workaround other than not using the private APIs CGSRegion/CGSSurface anywhere in your code.
Perhaps you have a dependency somewhere that's using them? To find out, I'd suggest you clone the repo, remove the private module, and add the repo in a [patch.crates-io] section.
These were apparently only used in a long-dead, long-unused fork of glutin (servo-glutin).
I'm inclined to remove this functionality.
If that's true, I'm ok with that solution. How did you determine that?
I searched for various things via GitHub code search and found that the only things using this were the code that it was specifically added for, in servo-glutin and various forks of it. I went to the upstream code and it appears that the code was never present there.