10 comments

[ 2.7 ms ] story [ 39.0 ms ] thread
Why don't they present this in a human-readable way? Having a JSON is great but shouldn't Apple provide more transparency to its users directly?
Apple is very incremental in the way they typically do things. This at least enables investigation to occur, and that alone may disincentivize the most egregious violations.
Chances are it’s because people would panic and start drama because for instance their video conference app used the camera.
The thing I've always wanted (for both iOS and Android) is an "inactive folder". Any app in the inactive folder would be completely shut down when it's not being used. That means no location, no notifications, no network activity, no waking for anything. When the app is launched it can work normally and if I move it out of the inactive folder then it will behave like any other app.

For example, Uber. I only use Uber when I travel and I have notifications on because I want to know when my ride is arriving. But when I'm not travelling I would love to inactivate it completely. Likewise a weather app or bank apps. I don't want them doing anything if I'm not using them so I would like to leave it in that folder permanently. Then they can do what they need once I launch them.

You can already do that by offloading the app but you will need to download it again the next time you open the app.
This is doable in Android [rooted: 1] if you're willing to do some scripting:

- install Termux and the Termux widget

- create a directory names .shortcuts in your Termux home directory

- install the tsu package in Termux:

    pkg update; pkg install tsu
- place enable/disable scripts in the .shortcuts directory, these scripts can look like this:

    #!/data/data/com.termux/files/usr/bin/bash
    
    PACKAGE="com.google.android.apps.maps"
    PATH="/data/data/com.termux/files/usr/bin:$PATH"
                                    
    command=$(echo "$0"|cut -d: -f2)
                    
    case $command in
    disable)                               
            sudo pm disable "$PACKAGE"     
            ;;                            
    enable)                               
            sudo pm enable "$PACKAGE"
            ;;    
    *)
            echo "command '$command' not supported"
            ;;
    esac
    exit 0
For each package you want to be able to enable/disable on the fly put a copy of this script in the $HOME/.shortcuts directory using a name like (in this case, using Google Maps as an example) Google_Maps:enable, then make a link to this script named Google_Maps:disable. Configure PACKAGE to the right package name, here it is set to com.google.android.apps.maps.

- put the Termux widget somewhere on your home screen

You'll see a list of all your enable/disable scripts in the widget and should be able to enable/disable the related packages on the fly.

[1] it might be possible without root but Termux does not seem to be able to run pm* (Android package manager cli) commands in scripts without root, at least not in the current incarnation.

If you use Shelter[0], you can "freeze" the apps in your work profile - this essentially disables them until you either unfreeze them manually or use the unfreeze shortcut for the app.

It isn't as user friendly as it could be through.

0: https://github.com/PeterCxy/Shelter