In Settings → Cellular (Mobile in UK), settings can be changed regarding mobile data, including per-app switches for all installed apps to enable or disable mobile data.
Where are these preferences stored?
I've looked in /var/mobile/Library/Preferences, but there doesn't seem to be any preferences relating to this. I've searched through the plists for various strings including app names and IDs from the list of per-app settings, but not found anything.
Best Answer
The directory you're looking for happens to be
/var/wireless/Library/Preferences
. This is where theSettings > Cellular
settings are stored. The per-application settings are stored in the database/var/wireless/Library/Databases/CellularUsage.db
. If you want to add a setting manually, you'll need to add an entry for the application in two tables. The first isbundle_uuid
, and you'll need to set thebundle_id
field to the friendly bundle name (such ascom.developersbliss.Helicopter
), and then themacho_uuid
field to its UUID (such asDD314675-0AA8-8A84-DB2BB966BAD8
) (Repeat this step for each UUID that the application has. In my particular example, there are two UUIDs. Just add another entry to the table for each UUID, but with thebundle_id
set the same as before, and with themacho_uuid
set to the next UUID the application has.). Then you'll need to make an entry in thebundle_info
table with thebundle_id
field set to the friendly bundle name used in thebundle_uuid
table, and then theflags
field set to0
. This will make that particular application be restricted from using cellular data. To enable the application to use cellular data again, just set itsflags
field in thebundle_info
table to1
. Any application not found in this database is assumed to be allowed to use cellular data.