Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS - Install unsigned .ipa on device

I’ve modified an .ipa file by unzipping contents, decrypted and modified a few scripts, and re-zipped. How can I test the new app as quickly as possible to see the new changes, without having to go through code signing (yet)? Do I require to jailbreak my phone or is there any other way I can emulate the new ipa?

Thank you!

like image 946
zantuja Avatar asked May 26 '18 17:05

zantuja


People also ask

How do I install unsigned apps on iPhone?

First, open your Settings app and go to General. Tap on Profiles and Device Management and find the AppCake profile. Tap it, tap the Trust button, and close Settings. Now tap the AppCake icon to open the app and start using it – find and tap on an IPA file and let it install to your device.

Can you install IPA on iOS?

An IPA (iOS App Store package) is an application archive file that contains an iOS app. In simple words, it is a file that can be installed on iOS devices and used as an application.


2 Answers

Jailbreak

With recent jailbreaks could be not that easy as it was in the earlier days. Even the simplest things don't work like you expect.

Resign IPA with developer account

This could be problematic due to entitlements. If the application uses them extensively then you would have to create provisioning profile containing all of them possibly also modifying the application binaries as some entitlements can't be recreated as is (like app groups and iCloud containers which are globally unique across all developer accounts).

Free developer account is even worse as it doesn't have access to some entitlements. You would have to examine the application signature and see which entitlements it uses and what the probability that it might work without them. For example, re-signing an app without SiriKit entitlement might cause a crash. When an app tries to access the API iOS will kill it due to missing entitlement.

You might heard about Cydia Impactor which does exactly that. But it actually does a pretty poor job of it. It doesn't preserve entitlements, so there's high probability that the app will crash. Pretty much all remotely complex apps use many entitlements. But it's worth a try anyway.

like image 191
creker Avatar answered Sep 22 '22 23:09

creker


I think this tool maybe helpful for you: https://github.com/DanTheMan827/ios-app-signer.

If you wish to run app on iOS devices, a valid code signature is required unless that device is already jailbroken.

In fact, jailbreaking does not enable you to run un-signed code on iOS devices. It just allows you to install some plugin to tweak the system. You still need something like AppSync (https://github.com/angelXwind/AppSync) to bypass the system-level code signature verification.

So you have to sign you executable if you don't want to jailbreak. Xcode provides free app provisioning file that you only need a Apple ID and you can get a 7-day app provisioning to let you run the ipa.

like image 29
Yijia Su Avatar answered Sep 23 '22 23:09

Yijia Su