Is it possible and how to grab that information about profile just from existing *.ipa file?
Asked
Active
Viewed 4.6k times
81
-
http://stackoverflow.com/questions/14881126/how-to-tell-what-profile-signing-certificate-was-used-to-sign-ipa – Danny Schoemann May 04 '17 at 11:10
5 Answers
139
I can give you a direction in this, not sure if it'll actually help:
- Change the extension of the
*.ipa
file to*.zip
. - Un-archive this zip file.
- The folder contains a
*.app
file. Open its package contents by right clicking it. - 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:
- Change the extension of the
embedded.mobileprovision
toembedded.txt
or just open it with any text editor of choice. - 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
-
1
-
Sorry mate, dunno! Just out of curiosity, why would you want to do this programmatically? – tipycalFlow May 04 '12 at 18:08
-
:)... Just for curiosity I asked. I wanted this to achieve in iOS. and I think its impossible. Apple wont allow I think... – Star May 10 '12 at 06:09
-
1You can write a script on your windows/mac to go through these steps for sure. But I don't think it's possible for iPhone or even useful! – tipycalFlow May 10 '12 at 13:02
-
-
can be done using php program. The whole process can be done. – Naresh Kumar Devalapally Apr 28 '15 at 11:26
-
Unless my app is weird, there's no 'hash' in the `embedded.mobileprovision` file anymore. Just a bunch of binary data. Using XCode 6.3. – shmim Apr 28 '15 at 19:17
-
1@shmim Try opening the `embedded.mobileprovision` file with `TextEdit` or `TextMate` – tipycalFlow Apr 29 '15 at 06:12
-
-
1
-
6Once the .ipa is unzipped, locate the ```embedded.mobileprovision``` and list it's contents using: ```security cms -D -i embedded.mobileprovision``` – ignasi35 Feb 16 '16 at 15:05
-
-
here is the video tutorial i made to do extact same thing: https://www.youtube.com/watch?v=ic9WuPnnBL4 – Umar Farooq Oct 24 '19 at 06:04
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
-
-
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
-
1Embedded 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 :
- Change the extension of
IPA
toZIP
. This will prompt an alert whether to keep .ipa or use.zip. Go withUse .zip
option
- This will convert
IPA
toZIP
file
- Extract the ZIP file by double click on it
- This will create a folder with contents : Payload, SwiftSupport and Symbols
- Goto Payload -> App file
- Right click and ‘Show Package Contents’ for App file
- This will show detailed content such as codeSign, localised file, framework, provision files etc of your app file
- 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
- Now open this file using textEdit. Now thoroughly go through this file you can see provision profiles for the IPA.

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
-
2Not 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