2012-06-12 7 views
18

Znajduję wiele artykułów w Internecie, gdzie sugeruje się, że można wyświetlić zawartość pliku .mobileprovision w edytorze tekstu. Na przykład ten Urban Airship post:Czy Apple zmienił format pliku .mobileprovision i jak mogę wyświetlić bieżący format?

Kiedy powiadomień push są włączone dla aplikacji, klucz APS-środowisko pojawi się w pliku .mobileprovision określania profilu zastrzegania:

<key>Entitlements</key> 
<dict> 
    <key>application-identifier</key> 
... 

jednak mobilprovision pliki, które mam (uzyskane w ciągu ostatnich kilku dni) zawierają 466 1/2 wierszy z 8 grup po 4 cyfry szesnastkowe (np. 4851 3842 4176 2845 0a09 01a2 404d 4382). Jak mogę wyświetlić ten typ pliku?

+1

Dla ciekawskich, pierwsze kilka bajtów dekodowane do ASCII do 'HQ8B Av (E' następnie udać się do kontroli-znaków .. – sarnold

Odpowiedz

14

Używasz edytora tekstu, który jest dla Ciebie zbyt sprytny: D.

Twój redaktor dowiaduje się, że plik faktycznie jest binarny i pokazuje go jako zrzut szesnastkowy - na przykład Sublime 2 robi to w ten sposób. Otwórz ten sam plik przy użyciu TextEdit. Zobaczysz kilka linii binarnego garbledegocka, a następnie jakiś zwykły tekst (XML), który powinien zawierać informacje, których szukasz.

Jednak należy wykonać nie edytować tego pliku za pomocą TextEdit, który uczyni go bezużytecznym!

+1

Tak używam Sublime 2! Ja nie używam go tak długo i nie zdawałem sobie sprawy, że zrobi to coś takiego ... TextEdit pokazuje zawartość XML ... dzięki – jlarson

16

Jeśli chcesz Sublime Text 2, aby móc czytać profile .mobileprovision Jest to ustawienie

"enable_hexadecimal_encoding": false, 
34

Provisioning Profile są kodowane. Dekodować je i badać XML można użyć tego poprzez linię poleceń:

security cms -D -i #{@profilePath}

gdzie #{@profilePath} jest filepath do pliku .mobileprovision.

Pełniejsze przykład Ruby jest:

require 'plist' 
profile = `security cms -D -i #{@profilePath}` 
xml = Plist::parse_xml(profile) 
appID = xml['Entitlements']['application-identifier'] 
+0

Dzięki za fragment kodu! Działa wspaniale – KrauseFx

+0

Chcę również podziękować podwójnie Bardzo przydatne – threeve

+0

Moja przyjemność, zadowolony to pomogło! –

6

Można użyć OpenSSL do wyjścia treść podpisanej profilu.

openssl smime -in /path/to/your.mobileprovision -inform der -verify