How to find out what profile was used for building *.ipa file?

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


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!


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                                                        |
+-----------------------------+----------------------------------------------------------+

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

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