If I’m in all honest i don’t have that many apps on my iPhone and the same goes for most of the people I know the app craze has I think settled down quite a bit.
I have 15 apps installed and only 3 have access to my contact list and those are Protonmail, Signal and WhatsApp which I would allow access too anyhow for convenience.
Apple can and should improve permission granularity but as far as contacts go I’m not sure that it’s even a good idea.
All or nothing seems like a good compromise to ensure that apps that you don’t want to have access to contacts don’t, how many usecases can you see when you’ll have to go to individual contacts and approve them one by one?
The best thing beyond that that Apple can implement is per field permissions e.g. I would like ProtonMail to only have access to the contact name and email fields but not to phone number or address but this level of granularity isn’t available on any platform afaik.