In the iOS security model there's no fixed grab-bag of permissions you accept when an app is installed. Instead the app must explicitly ask for access to each credential on an as-needed basis while the app is running. The request must happen when you request to use that particular feature. And the app is expected to continue working if you say no; just with the corresponding features disabled. So for example, on iOS whatsapp only requests camera access when you try to take a photo in the app.
If you say no, facebook can't access the data. Facebook can't conveniently forget that you said no and access the data anyway - if you say no at the system prompt, the OS won't give the app access to that data in the first place.
The system isn't perfect - it turns out my mum wasn't getting chat notifications on her iphone because she doesn't know what notifications are and she's been saying no to the prompts. But I find it somewhat refreshing to see beginner users erring on the side of saying no, rather than always saying yes to every random prompt the computer spits out. Fail-private is better than fail-public.