A CLI for generating private headers and searching symbol names on macOS, iOS, and watchOS. Sources are this Mac's macOS installation, installed Simulator runtimes, or an iPhoneOS environment reachable over SSH, such as a jailbroken iPhone or vphone.
Homebrew distribution and CI verification target Apple Silicon Macs running
macOS 26 or later. Simulator generation also requires Xcode and the matching
runtime. SSH generation requires an SSH server, tar, and permission to run the
bundled iPhoneOS helper on the peer.
For a new installation, use Homebrew:
brew install lynnswap/tap/privateheaderkitNote
If you previously used the shell installer or privateheaderkit-install, run
this command once to migrate to Homebrew, even if you have already run brew install:
curl -fsSL https://github.com/lynnswap/PrivateHeaderKit/releases/latest/download/install.sh | shRestart any running commands afterward. Generated headers are preserved. For an old custom installation directory, see the migration options.
privateheaderkitFollow the prompts to choose a source and targets. Generated files are saved
under ~/PrivateHeaderKit; the command prints the header directory.
To generate from a configured SSH destination:
privateheaderkit --ssh iphone-se --out ~/PrivateHeaderKit --target SpringBoard,SpringBoardUIPrivateHeaderKit reads the OS version and build from the peer. See the SSH setup and generation guide for authentication and USB forwarding.
For an already-running installed application, select its bundle identifier:
privateheaderkit --ssh iphone-se --app com.example.Sample --out ~/PrivateHeaderKitSee application generation for PID selection and saving a Mach-O file for local analysis.
brew update
brew upgrade lynnswap/tap/privateheaderkit
privateheaderkit --tool-version