2017-08-10 2 views
0

Ich habe ein Hilfsprogramm in meinem Bündel, das in Contents/Library/PriviledgedHelperTools innerhalb meines .app befindet. Kann ich irgendwie die Version von info.plist dieses Programms lesen?Holen Sie sich Version von binären in App-Verzeichnis

Das Helper-Tool selbst ist kein .app Bündel ist es ein binär, die in meinem .app Bündel eingebettet ist in Contents/Library/PriviledgedHelperTools Wohnsitz, der seine Info.plist Innenseite des __TEXT Abschnitts der binären mit dem Linker-Flags

-sectcreate __TEXT __info_plist path/to/info.plist 
eingebettet hat

Bitte beachten Sie: Ich führe gerade dieses Programm nicht aus, ich möchte nur überprüfen, ob das aktuell installierte Hilfsprogramm älter als das in meinem Bundle ist und prüfen müssen, ob ich das Hilfsprogramm aktualisieren muss (zB wenn es von eine frühere Version meines Programms).

Antwort

0

Listen Sie einfach alle Dateien im App-Verzeichnis auf. Es gibt "version.plist" - und "Info.plist" -Dateien, die Sie mit einem einfachen Skript analysieren können. Wenn sich in der App eine andere App befindet, ähnelt die Struktur der übergeordneten App.

+0

Das funktioniert nicht für ein Hilfsprogramm, da es nur eine Binärdatei innerhalb meines '.app' -Verzeichnisses in' Contents/Library/PriviledgedHelperTools/binary' ist, das die 'Info.plist' in den' _TEXT'-Abschnitt eingebettet hat der binären. Ich habe die Frage entsprechend bearbeitet. – Nidhoegger

+0

Ah, hab es. Ok, lass mich ein wenig nachdenken. Hast du einige Utils wie "strings/you/binary/path" probiert? Es zeigt alle Strings in der Binärdatei an und eine Sache, die Sie tun müssen, ist es zu analysieren. –

Verwandte Themen