81

Is it possible and how to grab that information about profile just from existing *.ipa file?

Centurion
  • 14,106
  • 31
  • 105
  • 197

5 Answers5

139

I can give you a direction in this, not sure if it'll actually help:

  1. Change the extension of the *.ipa file to *.zip.
  2. Un-archive this zip file.
  3. The folder contains a *.app file. Open its package contents by right clicking it.
  4. Inside, you'll find an embedded.mobileprovision file.

EDIT- Since Xcode 6 doesn't show the provisioning profile, I'll extend the answer to still see the details:

  1. Change the extension of the embedded.mobileprovision to embedded.txt or just open it with any text editor of choice.
  2. Inside, you'll find some binary data and a hash that contains the profile's details like Entitlements, CreationDate, ExpirationDate, Name, etc which will be sufficient to conclusively lead you to the provisioning profile used to create the .ipa.

Hope it'll help!

tipycalFlow
  • 7,594
  • 4
  • 34
  • 45
36

Use Nomad.

$ ipa info /path/to/app.ipa

+-----------------------------+----------------------------------------------------------+
| ApplicationIdentifierPrefix | DJ73OPSO53                                               |
| CreationDate                | 2014-03-26T02:53:00+00:00                                |
| Entitlements                | application-identifier: DJ73OPSO53.com.nomad.shenzhen    |
|                             | aps-environment: production                              |
|                             | get-task-allow: false                                    |
|                             | keychain-access-groups: ["DJ73OPSO53.*"]                 |
| CreationDate                | 2017-03-26T02:53:00+00:00                                |
| Name                        | Shenzhen                                                 |
| TeamIdentifier              | S6ZYP4L6TY                                               |
| TimeToLive                  | 172                                                      |
| UUID                        | P7602NR3-4D34-441N-B6C9-R79395PN1OO3                     |
| Version                     | 1                                                        |
+-----------------------------+----------------------------------------------------------+
RyanM
  • 4,474
  • 4
  • 37
  • 44
  • I came here because nomad has been working great, but today has started crashing. . . other options not looking great though. Looks like I'll have to debug Nomad. – Jasper Blues Aug 27 '15 at 22:14
  • Fixed. Happy Ruby + Happy Nomad again. – Jasper Blues Aug 27 '15 at 22:58
  • install `gem install nomad-cli` - prefix with `sudo` if using system Ruby. – David Douglas Oct 01 '15 at 16:54
  • Using El Capitan upgraded from Yosemite I'm trying to install it but nothing happens. I get this folder created `/Library/Ruby/Gems/2.0.0/gems/nomad-cli-0.0.2` but it is empty. Installed using system Ruby with command `sudo gem install -V nomad-cli` – Miguel Ribeiro Oct 05 '15 at 11:40
  • As noted above, when updating MacOS, you may need to re-install the nomad-cli. This was my experience on MacOS High Sierra. Then I was back checking ipa files again. – Ben Butzer Nov 07 '17 at 20:39
  • 1
    Embedded mobile provisioning file not found in your_app.ipa that download from App Store – Beyond Chao Dec 06 '19 at 09:14
13

Something like the following dumps an xml version of the provisioning profile:

unzip -p <ipafile>.ipa Payload/<myapp>.app/embedded.mobileprovision | security cms -D

Replace <ipafile> and <myapp> accordingly. If you don't know what <myapp> should be, try:

unzip -l <ipafile>.ipa | grep mobileprovision
Warren
  • 1,903
  • 1
  • 21
  • 30
3

Below are step for getting profile details from an IPA file :

  1. Change the extension of IPA to ZIP. This will prompt an alert whether to keep .ipa or use.zip. Go with Use .zip option

Screenshot 1

Screenshot 1.5

  1. This will convert IPA to ZIP file

Screenshot 2

  1. Extract the ZIP file by double click on it

Screenshot 3

  1. This will create a folder with contents : Payload, SwiftSupport and Symbols

Screenshot 4

  1. Goto Payload -> App file

Screenshot 5

  1. Right click and ‘Show Package Contents’ for App file

Screenshot 6

  1. This will show detailed content such as codeSign, localised file, framework, provision files etc of your app file

Screenshot 7

  1. You can see provision profile details in embedded.mobileprovision. This file can be read only in txt file format. So add an extension .txt to file

Screenshot 8

  1. Now open this file using textEdit. Now thoroughly go through this file you can see provision profiles for the IPA.

Screenshot 9

Jayprakash Dubey
  • 35,723
  • 18
  • 170
  • 177
0

Go to your Xcode organizer and click on the archives.You can see the list of archives you have made. Clicking on it will show you the details like date of creation, identifier etc. You can find the profile you created for this by matching this identifier you got.

Alex Zavatone
  • 4,106
  • 36
  • 54
iOS Developer
  • 1,723
  • 2
  • 16
  • 47
  • 2
    Not positive but I think that someone else's Xcode cannot produce this same information just from the .ipa.At least symbolication works this way. – Dan Rosenstark Apr 19 '12 at 07:01
  • Yeah, this will only work if the `.ipa` was made on the same machine as the one used to get the info – tipycalFlow Apr 19 '12 at 07:03