The Rejection Reason (Guideline 5.1.1 - Data Collection and Storage)
Apple is uncompromising on privacy. If your app requests permission to access the camera, microphone, or location without it being strictly necessary for its operation, it will be rejected. Furthermore, the explanation messages (Purpose Strings) must be precise.
Fatal Mistakes
- Asking for location upon app launch before the user even understands what the app is for.
- An
Info.plistfile with a generic message like "We need your location". - Forcing the user to create an account to access features that don't require it (like reading a public article).
The Solution
- Justify clearly (Purpose Strings): In your
Info.plistfile, theNSLocationWhenInUseUsageDescriptionkey must contain an explicit sentence: "We need your location to show you the restaurants closest to you." - Contextualize the request: Only ask for permission at the exact moment the user clicks the button (e.g., "Find my location") and not at startup (Splash Screen).
- Offer an alternative: If the user refuses GPS, allow them to manually enter their zip code.