Thursday, July 28, 2016

[Release] 'appstash' - Workaround for iOS 9.2 - 9.3.3 Jailbreak stashing issues

Introduction

There is a new restriction on iOS 9.2+ that prevents the /Applications directory (or any system apps within) from being a symlink. This means that the previous method for stashing is invalidated.

My solution to this problem is to treat system apps the same way that user apps are treated; why not install system apps to the user partition to avoid symlinks altogether?

This utility patches installd to allow installation of in-place app directories to a container in /private/var/containers/Bundle/Application by overriding the codesign validation of apps during the install process.

A new executable is provided to facilitate requests to installd:

A few scripts have been provided as well:

A few caveats arise with this method of stashing:

Issues

Currently Notes.app and Podcasts.app are not working if you stash a magic, unknown combination of system apps and I don't have time to investigate. If someone finds the problem, feel free to message me or comment and I'll take a look. In the mean time, I recommend stashing each app individually as needed.

How to use

NOTE: This guide is for developers or power-users that know what they're doing. Do not expect this stashing method to be supported by anyone but me.

  1. Expect that you will lose all data on your device: backup your device with iTunes. If using /u/coolstarorg's stashing method, you will have to restore.
  2. Install OpenSSH on your device and change your root/mobile passwords.
  3. (Optional) Install AFC2 to allow filesystem access over USB (this might be important to recover data in the event of catastrophic failure.)
  4. Install this repository (click to open Cydia) and search for the appstash package.
  5. SSH into your phone and run appstash -a for each app you want to stash. Currently I recommend avoiding stash-all-applications due to issues described above.
  6. If using the standalone appstash command, run uicache; sync; killall -9 SpringBoard to populate your home screen with the updated app locations.
  7. If you're able to open most of your system apps, you should be able to reboot. Otherwise you should run unstash-all-applications to reverse.

Other Information

  • System applications will now be uninstallable from the home screen.
  • You will probably get system applications in your iTunes backups that should refuse to install on a non-jailbroken device (not tested).
  • Source code available here.
">View Post Link Below


by /u/clayfreeman - Link to original post

No comments:

Post a Comment