What is Apple’s 5.1.1 Requirement?
Apple’s 5.1.1 is a realtively new privacy requirement. Its purpose is to reenforce the iPhone bubble.
Case Study
Consider this scenario. You design a social application. You follow the standard practice.
- Work with a designer to create a functional workflow.
- Put together a Figma specification.
- Hire a developer to implement the design.
- Go to launch on the App Store
And suddenly, instead of a product in the App Store, you have a problem. It may look something like this
It’s not you, it’s me
After carefully reviewing this with your developer, you realize that it’s going to be a major headache to fix.
All the features of your application are behind a sign in screen. And, simply adding a delete account button is not enough to satisfy 5.1.1’s terms.
The application under review is deeply integrated with an authentication solution like Firebase.
This means the app, in its rejected form, cannot function properly unless the user creates a digital finger print.
Without a Firebase user ID, numerous parts of the application are probably going to glitch or crash. Leading to a poor user experience.
In Legal Terms
Apple is rejecting the app because it is collecting data at the wrong time.
By putting the application’s features behind a sign in screen, you are unintentionally coercing people into giving personal information.
By not granting users access to the features of the app you are, in Apple’s terms, unnecessarily manipulating/tricking/forcing users into giving up personal information.
The Solution
The solution is to allow users to access the application’s features without signing in.
To help you visualize the solution, here is a diagram.
Conclusion
Apple’s 5.1.1 requirement is a new feature that requires developers to carefully consider when and what information they choose to gather.
When where and how are just as important as what.
By following these guidelines you can create a more inviting user experience that allows newcomers the familiaize themselves with your community and application before deciding to commit.