2012-10-11 11 views
7

Ich glaube, es gibt ein Problem mit der .entitlements-Datei meiner App, wenn eine .ipa erstellt wird, und deshalb möchte ich die Bundle-ID der Berechtigungsdatei überprüfen. Es gibt ein ziemlich kompliziertes Build-Skript, das ich benutze, um einige Dinge vor dem Aufbau zu ändern, damit ich sehen will, was das Endprodukt ist. Ich weiß, dass es früher eine Entitlements.plist gab, die ich von der ipa bekommen konnte, aber es scheint nicht mehr da zu sein. Gibt es eine Möglichkeit, jetzt auf die .entitlement-Datei zuzugreifen?Gibt es eine Möglichkeit, die .entitlements-Datei Ihrer App im .ipa-Archiv Ihrer App anzuzeigen?

Antwort

14

Sicher, entpacken Sie die .ipa Datei, die ein Payload-Verzeichnis erstellen wird. Innerhalb des Payload-Verzeichnisses befindet sich das Anwendungspaket. Klicken Sie mit der rechten Maustaste auf das App-Paket im Finder, um "Paketinhalt anzeigen" anzuzeigen.

Suchen Sie nach der Datei embedded.mobileprovision, die Sie mit einem Texteditor oder Plist-Editor öffnen können. Suchen Sie nach dem <key>Entitlements</key>

+0

Meine embedded.mobileprovision Datei zeigt nur eine Haufen von Zahlen und überhaupt kein Text. Gibt es noch einen anderen Schritt, um diesen Menschen lesbar zu machen? – fjlksahfob

+1

Das Format sollte eine Eigenschaftsliste sein - nur mit einem meiner ipa verifiziert. – FluffulousChimp

+0

Ist Ihr ipa aktuell? Ich bin mir ziemlich sicher, dass sie in der Vergangenheit einmal ples waren. Ich habe versucht, meine embedded.mobileprovision-Datei in ein Plist umzubenennen und mir wurde gesagt, dass es beschädigt war, als ich versuchte, es zu öffnen. Wenn man die "Art" der Datei mit Get Info ansieht, sagt Apple, dass es sich um ein "Developer Provisioning Profile" handelt. – fjlksahfob

11

Für diejenigen, die hier über Google, die Informationen, die Apple bietet unter https://developer.apple.com/library/ios/qa/qa1798/_index.html ist viel jünger. specifially, nach den IPA unzipping:

Anzeige der Ansprüche in der App

durch Ausführen von:

codesign -d --entitlements :- "Payload/YourApp.app" 

und das Provisioning-Profil angezeigt wird durch Ausführen von:

security -D -i "Payload/YourApp.app/embedded.mobileprovision" 
+4

in meinem Fall 'security -D -i' hat nicht funktioniert, ich musste stattdessen 'security cms -D-i' verwenden – subzero