#!/bin/sh # Build the AppsManagerHook.dylib. # Requires macOS with Xcode command line tools and an iPhoneOS SDK. set -eu ROOT=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) SRC="$ROOT/hook/src" OUT="$ROOT/hook/build" rm -rf "$OUT" mkdir -p "$OUT" cd "$SRC" CFLAGS="-arch arm64 -miphoneos-version-min=15.0 -fobjc-arc -I. -O1" FILES="WQCore WQLocalization WQAccess WQLaunchServices WQUI WQSharing WQApps WQCache WQPlistEditor WQHexViewer WQSQLiteViewer WQArchive WQSyntax WQMediaStream WBHook" for f in $FILES; do echo "compile $f" xcrun -sdk iphoneos clang $CFLAGS -c "$f.m" -o "$OUT/$f.o" done echo "compile main" xcrun -sdk iphoneos clang $CFLAGS -Dmain=wqfiles_unused_main -c main.m -o "$OUT/main.o" echo "link" xcrun -sdk iphoneos clang -arch arm64 -miphoneos-version-min=15.0 -dynamiclib \ -o "$ROOT/hook/AppsManagerHook.dylib" "$OUT"/*.o \ -framework Foundation -framework UIKit -framework Security \ -framework UniformTypeIdentifiers -framework AVKit -framework AVFoundation \ -framework CoreMedia -framework CoreGraphics -framework QuartzCore \ -lsqlite3 -lz echo "built $ROOT/hook/AppsManagerHook.dylib"