ipasign
iOS code signing written in Python. Re-sign .ipa archives, .app bundles, frameworks, dylibs and bare Mach-O executables with a .p12 identity and a .mobileprovision profile, producing a signature that iOS and Apple’s codesign accept.
Install
- PyPI
pip install ipasign- uv
uv add ipasignRequires Python 3.10 or later. The only dependencies are cryptography and asn1crypto.
Quick example
import ipasign
key = ipasign.Key("identity.p12", "profile.mobileprovision", "password")
out = ipasign.App("input.ipa").sign(key)
print(f"Successfully signed: {out.output_path}")
print(f"{out.app_name} {out.app_version} ({out.bundle_id})")Features
- Signs
.ipaarchives,.app/.appexbundles, frameworks, dylibs and bare Mach-O executables. - Bundle modification before signing: bundle id, name, version, icon, minimum OS, document browser, and removing extensions, watch app or supported devices.
- Certificate check with OCSP revocation status for
.ipa, Mach-O,.mobileprovision,.p12,.cer/.derand.pem. - Reads app metadata and extracts the primary icon without signing.
- Ad-hoc signing, no credentials needed.