I'm having a tricky time deciding between several interaction patterns for disabled settings toggles in a native app.
Background:
This is in a mobile app's settings page. There is a top level settings page with a list of settings groups, each of which has a child page with a list of toggles. There's a persistent contextual tooltip at the top right of each page.
The challenge is:
A lot of these app-level settings toggles can be overridden by OS-level settings (camera permissions, for example). So they need to appear inactive when those OS-level settings are turned off.
I want to communicate to the user that the setting toggle is disabled, why it's disabled, and how the user can enable it before they try to turn the toggle on (i.e. prevent the user error before it happens).
There are a couple possible treatments I've been toying around with and I'm looking for a sanity check (apologies for the whiteboard sketches).
Option 1: Setting appears enabled on the parent page, appears disabled on the child page, and we leave it up to the user to troubleshoot why.
Option 2: Toggle appears disabled on the parent page and leave it to the user to troubleshoot.
Option 3: Toggle Appears enabled on the parent page and tapping it triggers a modal popup (This is what iOS does for their settings).
Option 4: Change the disabled style to include copy explaining why it's disabled and how to fix it.
I prefer 4.
What do you think?