Blocks submissionApp Store
Every declared background mode matches something the code actually does
What is checked This rule is decided by code from the built app and the listing: ios.built.info, ios.built.references.
Applies to every app
Checked from built, not yet uploaded, on a test track, submitted and in review, published
The rule, in our words
- App Review Guidelines: Use only public APIs, run on the currently shipping OS, and use frameworks for their intended purpose, saying so in the app description. Stay inside the app sandbox and never download or run code that changes the app (educational code-teaching apps excepted, in limited circumstances). Background services (VoIP, audio, location, task completion, local notifications) may be used only for their intended purpose. The app must work on IPv6-only networks, must use WebKit for web browsing unless it holds an alternative-engine entitlement, and must ask explicit consent and show a clear visual or audible indicator whenever it records user activity, including camera, microphone or screen. Notifications, widgets and extensions should relate to the app's own content. Ads, if any, stay in the main binary, match the age rating, are clearly labelled and dismissible, and can be reported by users. SiriKit, CallKit, facial recognition, Files, Matter and App Clip rules apply where those features are used.
Okkok never stores the stores' text. Each item above is our paraphrase, and the link is the page it rests on, verified unchanged by fingerprint on every run.
The other store
- Google explicitly permits interpreted code such as JavaScript in a webview; Apple's wording bans any downloaded code that changes the app. Google's foreground-service rules are more prescriptive (type declaration, console description and video). partial
- none on principle; Google states the rule specifically for SDKs and adds insecure-connection and foreground-service bans. same
- Google specifies timing (15 seconds), bans unexpected full-screen interstitials and lockscreen monetization; Apple requires a user reporting path for ads, which Google does not. partial
- none. same
Check your app
pip install git+https://github.com/petresandu-cloud/okkok
okkok audit path/to/app
The report names this rule as apple.background-modes-are-used and says what to do, who does it, where, and how it knows.