> * Developers are forced to comply with Apple's rules. Otherwise companies could develop shitty apps that use private APIs to work around Apple's restrictions and then force customers to open up their devices to use it.
This. Apple consistently chooses to make workaround options complex for the purposes of discouraging this sort of activity.
See:
* Deprecated APIs are actually obsoleted and removed; your app won't run in the new OS version and that means people buying hardware can't run your app.
* Right click has long been a hardware feature but off by default, so that apps wouldn't build in non-standard mouse 'gestures'.
* New ITP anti-tracking features in Safari have no off switch The solution to cookie issues is to change how your app works (such that you don't use hidden cross-domain redirects/frames)
* Side loading apps onto iOS devices is not possible without a business profile or the end user having a development environment - and misused business profiles are revoked.
* The option to turn off app signatures has been removed from the UI (not always the case - Minecraft for instance used to tell users to turn app signature verification off globally to work around their lack of app signing).
* Android has a list of permissions you must grant apps in order to install them. iOS on the other hand requires the application to prompt for individual permissions (location information, microphone access, etc), requires a description of why they want that permission, and per App Store guidelines must run with (reduced) functionality should the user say no.