How to Resign IPA Files for Sideloading
Why You Need to Resign IPA Files
Every app that runs on an iPhone must be code-signed with a valid Apple certificate. When you download an IPA file from the internet or export it from Xcode, it carries the original developer’s signature. Before you can install it on your own device, that signature needs to be replaced with one tied to a certificate your iPhone trusts. This process is called resigning, and it is a fundamental skill for anyone serious about iOS sideloading.
Resigning is not about bypassing security — it is about transferring trust. Apple’s security model requires every piece of code running on iOS to be vouched for by a known identity. When you resign an IPA, you are saying “I vouch for this app” using your own developer identity or a certificate managed by a tool like Scarlet iOS.
If you are new to the concept of IPA files, start with our guide on understanding IPA files — what they are and how to use them. Once you understand the structure of an IPA, resigning will make much more sense.
What You Need Before Resigning
To resign an IPA file, you will need the following:
- The IPA file you want to resign
- A Mac (for traditional tools) or a Windows/Linux machine (for cross-platform tools)
- An Apple ID (free) or an Apple Developer account ($99/year for broader capabilities)
- A resigning tool such as iOS App Signer, AltServer, or a command-line approach using
codesign - A provisioning profile that includes your device’s UDID
Alternatively, Scarlet iOS handles much of this process automatically when you import an IPA directly into the app. But understanding the manual process gives you more control and helps you troubleshoot when automated tools fail.
Method 1: Resigning with iOS App Signer (Mac)
iOS App Signer is a free, open-source tool for macOS that provides a graphical interface for resigning IPA files. Here is how to use it:
- Download iOS App Signer from its official GitHub repository.
- Open Xcode and sign in with your Apple ID via Preferences > Accounts. This creates a local signing certificate on your Mac.
- Register your device UDID in Apple’s developer portal and download a provisioning profile that includes your device.
- Open iOS App Signer and select your IPA file as the input.
- Choose your signing certificate from the dropdown — it will appear as “iPhone Developer: Your Name”.
- Select the provisioning profile you downloaded.
- Optionally change the bundle ID if you want to install alongside the original app.
- Click Start and wait for the resigned IPA to be generated.
- Use Xcode’s Devices and Simulators window or a tool like Apple Configurator to install the resigned IPA.
Method 2: Resigning with AltServer
AltServer is another popular approach that works on both Mac and Windows. It integrates with AltStore but can also be used to resign arbitrary IPA files:
- Install AltServer on your computer and AltStore on your iPhone.
- Open AltServer and navigate to the Sideload .IPA option.
- Select your IPA file and provide your Apple ID credentials when prompted.
- AltServer handles the certificate creation, provisioning profile generation, resigning, and installation automatically.
The limitation of the free Apple ID method is the 7-day certificate expiry. Apps signed this way will stop working after a week unless you re-sign them again. A paid Apple Developer account ($99/year) extends this to 12 months.
Method 3: Command-Line Resigning with codesign
For advanced users and automation workflows, the command-line approach using Apple’s codesign tool gives the most flexibility. This method requires macOS and Xcode command-line tools installed.
Step 1: Unzip the IPA
An IPA file is just a ZIP archive. Rename it with a .zip extension and extract it, or use the terminal:
unzip MyApp.ipa -d MyApp_extracted
Step 2: Remove Existing Signature
rm -rf MyApp_extracted/Payload/MyApp.app/_CodeSignature
Step 3: Copy Your Provisioning Profile
cp MyProvisioningProfile.mobileprovision MyApp_extracted/Payload/MyApp.app/embedded.mobileprovision
Step 4: Re-sign with codesign
codesign -f -s "iPhone Developer: Your Name (TEAMID)" --entitlements entitlements.plist MyApp_extracted/Payload/MyApp.app
Step 5: Repackage as IPA
cd MyApp_extracted && zip -r ../MyApp_resigned.ipa Payload
Resigning Directly in Scarlet iOS
If you are using Scarlet iOS, most of the resigning complexity is handled for you behind the scenes. When you import an IPA into Scarlet, the app automatically re-signs it using its managed certificate pool before installation. This is one of the key advantages of using Scarlet compared to manual methods.
For advanced users, Scarlet’s Developer Mode (covered in our guide on how to use Scarlet iOS Developer Mode) allows you to supply your own certificate for resigning specific apps, giving you the best of both worlds: automation with manual override capability.
Common Resigning Errors and Fixes
Error: “A valid provisioning profile for this executable was not found”
This means the provisioning profile you used does not include your device’s UDID, or the profile has expired. Generate a new profile in Apple’s developer portal and include your device.
Error: “The executable was signed with invalid entitlements”
Some apps request entitlements (special permissions) that require a paid developer account or specific capabilities enabled in the provisioning profile. Review the app’s entitlements.plist and remove any that are not supported by your account tier.
Error: “Code object is not signed at all”
This usually occurs when frameworks bundled inside the app were not re-signed along with the main executable. You need to re-sign each framework individually before re-signing the main app bundle.
Best Practices for Resigning IPA Files
- Always keep a backup of the original, unmodified IPA before resigning.
- Document which certificate and provisioning profile you used for each app — this makes renewal much easier.
- If you need multiple apps to communicate with each other (app groups), make sure all apps are signed with the same team ID.
- For apps you use regularly, consider a paid Apple Developer account to avoid weekly re-signing headaches.
Conclusion
Resigning IPA files is a core skill for anyone who wants full control over app installations on their iPhone. Whether you choose a GUI tool, command-line approach, or let Scarlet iOS handle it automatically, understanding the process empowers you to troubleshoot problems and unlock apps that the App Store does not offer.
Skip the complexity — let Scarlet iOS handle the heavy lifting. Get Scarlet iOS now and start installing any IPA in minutes.