Non-public or deprecated APIs prevent Mac App Store submission
Description
After submitting my application to the Mac App Store, it is not accepted because of some non-public or deprecated APIs. See Apple validation message below:
Your app uses or references the following non-public or deprecated APIs:
• Contents/MacOS/crashpad_handler/__CFCopySystemVersionDictionary
• Contents/MacOS/crashpad_handler/__kCFSystemVersionBuildVersionKey
• Contents/MacOS/crashpad_handler/__kCFSystemVersionProductNameKey
• Contents/MacOS/crashpad_handler/__kCFSystemVersionProductVersionExtraKey
• Contents/MacOS/crashpad_handler/__CFCopyServerVersionDictionary
• Contents/MacOS/crashpad_handler/__kCFSystemVersionProductVersionKey
When does the problem happen
- [ ] During build
- [ ] During run-time
- [ ] When capturing a hard crash
- [x] During Apple Store validation
Environment
- OS: MacOS 10.15
- Compiler: apple-clang
- CMake version and config: 3.21.2
I used the conan with the CCI recipe to handle sentry-native dependency.
Steps To Reproduce
Log output
Thanks for the report!
All this comes directly from crashpad here: https://github.com/getsentry/crashpad/blob/getsentry/util/mac/mac_util.cc
That file indeed mentions this as internal unstable API. I think that is mostly the reason why I avoided using that when porting over OS Context for the SDK and opted to just use sysctl.
We already maintain a few patches on top of crashpad, so it might be possible to just rip out that usage and replace it with sysctl as well if that is necessary.
Is this a blocking issue for you?
No I changed my backend to breakpad and my last submission passed without issue.
Hi any workground?
As I said, I switch from crashpad to breakpad to fix the issue.
As I said, I switch from crashpad to breakpad to fix the issue.
how to do?
Adding -DSENTRY_BACKEND=breakpad to your cmake call overrides the default backend.
For various reasons, using breakpad is recommended for App Store submissions. See https://github.com/getsentry/sentry-native/discussions/881#discussioncomment-8640854 and https://github.com/getsentry/sentry-docs/pull/9299 for more context. Closing this for now, feel free to reply if you have additional context.
yes you'll noticed I was the originator of the thread #881 ! 😅