It’s impossible to prevent fingerprinting of users and devices via purely technical measures — taking away the advertising ID won’t help.
It’s truly not — the OS sandbox is nowhere near as restrictive as, say, a browser sandbox.
Moreover, if Apple is forced to open the platform to third-party app stores, identifying unique users in collusion with the third-party app store is incredibly easy.
They did manage to answer this question in their comment. It’s the entire last sentence. (It also seems fairly well implied that they mean “iOS fingerprinting is currently hard” given the topic of discussion.) I don’t see how I could reliably fingerprint if so many APIs require user permission. It might be possible but I don’t see easy.
From IOKit to getifaddrs() to file system APIs, there are straightforward ways to uniquely identify a device — and I’m sure someone who actually works in this space can think of quite a few more.
Hell, even if you make it a hard problem and sandbox every possible source of unique information about the device, I’m sure Google would be happy to throw ML engineers at identifying users via impossible-to-obscure user information (keyboard timings, accelerometer readings, etc).
Preventing misuse of PII requires a policy/legal solution, not a technical one.
Or, a much, much simpler solution: an application firewall built into the system. With downloadable easily shareable rulesets. No matter what an app collects, it's all worthless if it can't send that back to advertisers. We already do that for websites by using ad blockers.
You especially cannot achieve this while providing third parties access to what has traditionally been vendor-only API on mobile devices; e.g. to support third-party app stores.
This simply is not solvable through technical means. It must be solved through policy and law.
Using an application firewall to prevent the facebook app from sending tracking data backing to facebook?
Besides, sideloading enables installation of modded apps giving users more choice.