Skip to content

Instantly share code, notes, and snippets.

@Serena1432
Last active August 28, 2024 10:02
Show Gist options
  • Save Serena1432/10763b73c8bcfa8c2d203c759a56b089 to your computer and use it in GitHub Desktop.
Save Serena1432/10763b73c8bcfa8c2d203c759a56b089 to your computer and use it in GitHub Desktop.
Building the latest version of Karen's AppSync Unified from source (2024)

Since the Karen's Repo has been totally inaccessible since July 2024, there's (almost?) no way to get the latest version of this tweak (the archived version in archive.org was uploaded in May 2023, so that version still hadn't support Rootless jailbreak yet).

The only way I know to get the latest version of this tweak is to build it directly from source. But the current source code is literally unable to compile due to a bunch of ) expected compilation errors. So I spent the entire day to research this myself and found out that thing happened because of Theos' latest version.

So in order to build the latest version of AppSync Unified, we need to do more work than in 2023.

Contents

Installing Theos

  • The first thing to do is installing the latest version of Theos. As usual, just follow the official instructions at this step.
  • After installing, revert the Theos installation to e045ac7 commit (July 1, 2023; when the latest version of AppSync Unified was released):
cd ~/theos                                # Theos' installation folder
git checkout e045ac7                      # Reverting the installation to e045ac7 commit
git submodule update --init --recursive   # Also revert Theos' submodules

image

Preparing the iOS SDK

The latest version of iPhoneOS SDK that Theos downloads won't work because of missing old libraries and different definitions.

  • In this gist, I recommend using iOS SDK version 13.7. You can download the SDK from the Internet (because ofc I can't provide it here), or copy straight from Xcode 11.7. After that, paste the iPhoneOS13.7.sdk folder to Theos' sdks folder.

image

  • Also if you're actually using Xcode 11.7 (or any version that has the iOS SDK 12.x - 13.x), you can delete straight the iPhoneOS*.sdk folder in Theos' sdks folder without downloading or copying anything.

Building AppSync Unified

After preparing those things above, we can build the AppSync Unified source code as usual:

git clone https://github.com/akemin-dayo/AppSync.git   # Clone the AppSync repository
cd AppSync                                             # Change to the cloned AppSync directory
make                                                   # Build from the source code
make package                                           # Package the output files

and use the command below if you want to build the Rootless version (thank opa334 on Reddit for the help!):

make package THEOS_PACKAGING_SCHEME=rootless

image

This gist is applicable even for the latest Xcode/Clang version (I actually tested with macOS Sonoma 14.6.1 and Xcode 16.0), but Xcode 11.x is required to build the arm64e binary for iOS 12.0 - 13.7.

From Rootful to Rootless

Edit: The steps below aren't necessary anymore, but if anyone still wants to see them then here you go:

Converting Rootful to Rootless

The latest version of AppSync Unified supports Rootless jailbreak, but the package we just built isn't.

To convert the package from Rootful to Rootless (applicable for all platforms):

  • Extract the ai.akemi.appsyncunified_*_iphoneos-arm.deb file we just built in the AppSync/debs folder.

image

  • Extract the control.tar.gz and data.tar.lzma file in the extracted folder. We get two control and data folder.

image

  • Delete two compressed files and the debian-binary file. Then rename control to DEBIAN and data to var.

image

  • Create a new jb folder inside the var folder.

image

  • Move the Library and usr folders to the jb folder we just created.

image

  • Open the control file in the DEBIAN folder, and edit Architecture: iphoneos-arm to Architecture: iphoneos-arm64:

image

  • Finally open the terminal, cd to the AppSync/debs folder and package that folder into .deb:
dpkg-deb -b -Zgzip ai.akemi.appsyncunified_*_iphoneos-arm AppSync-rootless.deb

image

  • After running, you will get a new .deb file. This is the converted rootless version of the latest AppSync Unified.

I hope this gist can help some of you in enjoying this tweak, since I'm also an enjoyer of iOS jailbreaking beauty and especially this tweak allowing us to install unsigned apps.

Have a nice day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment