26

I have an app that was developed for my company. Unfortunately it needs to be resigned (i know how do this part) because the distribution cert has expired. The problem is we need to change the version number so it allows for an update on all iPads. Does anyone know how to do this using terminal (i have xcode installed but i dont have and of the files from the developers). Once again, i only have the IPA file for the app.

Thanks for any help.

user2461863
  • 371
  • 1
  • 3
  • 5

2 Answers2

69
  • Rename the .ipa to .zip, and unzip the archive.
  • Inside should be a folder called "payload", and inside that folder should be your application archive.
  • Right-click the application archive, and choose "show package contents."
  • Find the Info.plist file (either named "Info.plist" or "AppName_Info.plist"). Open that file with a text editor
  • Change the value of "CFBundleVersion" and "CFBundleShortVersionString" to your desired version number.
  • Re-zip the archive
  • Rename the .zip to .ipa
  • Re-sign the .ipa
Matt Bridges
  • 48,277
  • 7
  • 47
  • 61
  • 2
    This was the solution! Easy instructions that work. Couldn't have asked for more. Thanks! – user2461863 Jun 07 '13 at 13:42
  • 1
    You should probably mark this answer correct by clicking the checkbox next to the score ;) – Matt Bridges Jun 07 '13 at 16:49
  • 2
    I get the message "The app '...' could not be added to your iTunes library because it is not a valid app. Any idea what could be causing it? – loadedion Oct 18 '13 at 18:13
  • 7
    Sadly this doesn't seem to work anymore (as of 2015/02, iOS 8.1.x). I've tried the above steps a few different ways (on a Mac, on a PC, etc) but no matter what I do the IPA won't install after I've re-zipped it. I get the message "'Appname' could not be installed at this time." If anyone finds a new way to do this please let us know! – Christopher Feb 04 '15 at 10:53
  • I am getting the following message. " invalid Info.plist (plist or signature have been modified) In architecture: armv7" Any fix for this? – Pavan Kotesh Jul 03 '15 at 08:22
  • when I open info.plist in textedit my content appears garbaled up and I do not see an location for the CFBundleVersion clearly marked as my version. is this because my app is an enterprise .ipa? – SeeCoolGuy Sep 23 '15 at 20:45
  • 3
    @SeeCoolGuy it appears all garbaled up because it is stored in *binary* format. you can use **pltool** to convert it to *xml*. – Andrew Oct 01 '15 at 18:53
  • @AndrewAnthonyGerst thank you, I needed that breadcrumb! I found a full example here http://apple.stackexchange.com/questions/101719/trouble-opening-plist-files-in-text-editor – SeeCoolGuy Oct 01 '15 at 20:04
  • @ChrisEmerson after the last step I used iReSign so that the ipa was signed correctly and could be installed on a device. https://github.com/maciekish/iReSign – Alberto M May 04 '17 at 08:07
  • In High Sierra I couldn't see "Show Package Content" on right-clicking the IPA-File. I had do remove the `.ipa`-suffix so that Finder showed it as a Folder and rename it afterwards again. – heyfrank Sep 13 '18 at 11:43
  • @fl034, that's because you need to rename to .zip and unzip it first. – mattsson Jan 14 '19 at 10:39
  • I'm getting "does not contain an application bundle, so it cannot be installed on" error. After trying to install – Emre Önder Jan 25 '19 at 06:27
  • 4
    One possible reason for app not installing after these steps is if you have zipped the `Payload` **parent** folder instead of directly `Payload` folder. `Payload` folder should be at the root level of the zip. If you have an entitlements file and a `Payload` folder, select both, then zip them. It will result in a `Archive.zip`, which you can now rename to `MyApp.ipa`. If you just have the Payload folder, zip it, resulting in `Payload.zip`, then rename it. – AnthoPak Aug 05 '19 at 10:01
4

In answer to Chris Emerson's comment above (sorry, I don't have enough reputation to add another comment so I'm adding an answer) it is still possible to do this! I have just done it for an IPA with latest updates to everything iOS 8.3, OX Mavericks. I was getting the same message "... could not be installed at this time" and it turned out to be an issue with the entitlements in the provisioning profile not matching the entitlements in the *.app.

You can check the entitlements in both like this: https://developer.apple.com/library/ios/technotes/tn2318/_index.html#//apple_ref/doc/uid/DTS40013777-CH1-TNTAG68, and I put an answer detailing how I fixed the entitlements of my IPA so that they matched here: Alter Minimum OS Version of IPA without XCode, iOS 8+.

Community
  • 1
  • 1
AMTickityB
  • 91
  • 1
  • 5