EasySignIpa
EasySignIpa is a command line tool for signing IPA files on a Mac using a P12 Certificate and MobileProvision file. It's handy for automating the IPA re-signing process. I recently discovered EasySignIpa, and here are the best features and how to install it on macOS.
What is EasySignIpa?
EasySignIpa is an IPA installer that allows you to sign and install decrypted apps on iOS devices. It was released as an open-source project under the MIT license. One of my favorite features is support for injecting dynamic libraries or frameworks into IPA files.
This IPA signing tool doesn't offer too many features therefore it's easy to use. From available options you can config signing cert and provision, re-signing the .ipa or .app, injecting dynamic library into the app, or install the re-signed ipa onto the device connected via USB.
EasySignIpa is developed and maintained by DargonLee, a developer from China. This project is not related to the ESign application, the on-device IPA installer for iOS devices.
EasySignIpa can not only sign IPA files and install the package on your iPhone or iPad. It also features an option to uninstall the app with the same package name on the device first, and then install the re-signed app. You can't sign IPA files with your Apple ID.
This IPA installer is currently compatible with macOS only. However, since it's based on Python, the developer plans to add support for Linux as well. The Mac version relies on Xcode.
EasySignIpa was released under the MIT License through the GitHub Repository. The source code was written in Python (requires Python 3.8+) and Shell.
How to install EasySignIpa on macOS
git clone https://github.com/DargonLee/EasySignIpa
cd EasySignIpa
python setup.py install_command
pip install .
Available commands
esign --h
usage: esign [-h] [-c] [-s SIGN] [-l INJECT] [-o OUTPUT] [-b | -rb]
ipa re-signature command tool
options:
-h, --help show this help message and exit
-c, --config config signing cert and provision
-s SIGN, --sign SIGN re-signing the .ipa or .app
-l INJECT, --inject INJECT
injecting dynamic library into the app
-o OUTPUT, --output OUTPUT
output the resigned ipa
-b, --install install the re-signed ipa onto the device connected via USB.
-rb, --reinstall uninstall the app with the same package name on the device first, and then install the re-signed
app.