Ich baue eine Mac App, die mit dem Befehlstool 'unrar' gebündelt ist, um einige Dateien zu entpacken. Die App ist Sandkasten.
In xcode kopiere ich das unrar-Befehlstool in den Resourse-Ordner der App (mit einem Unterpfad namens "exec"):
Dateien kopieren: Ziel: Ressourcen - Unterpfad: Exec
Nach der Kopierphase führe ich ein Run Script aus, um die Berechtigungen und Code Signing wie folgt zu setzen:
Skript ausführen: Shell: / bin / sh
%Vor%In der App selbst verwende ich eine NSTask, um den unrar-Befehl auszuführen:
%Vor%Das unrar.entitlements enthält:
%Vor%Beim Ausführen der App funktioniert alles einwandfrei und die Dateien werden extrahiert.
Aber ... dann, wenn ich das Systemlog überprüfe, sehe ich die folgende Nachricht:
secinitd [332]: unrar [94747]: Der Root-Pfad für das Paket der Hauptprogrammdatei konnte nicht abgerufen werden: /Applications/App.app/Contents/Resources/exec/unrar
Die Meldung verschwindet, wenn ich das obige Ausführungsskript nicht ausführe, aber die Berechtigungen für das Befehlsruftool 'unrar' nicht festgelegt sind und Sandboxing fehlschlägt.
Ich ziehe mein Gehör für drei Tage heraus, was diese Botschaft bedeutet und wie ich sie lösen kann, aber ich habe keine Ideen mehr.
Die Suche nach google oder stackoverflow hilft auch nicht.
Kann mir bitte jemand helfen, das zu lösen?
Danke, Andre.
(Sorry für den gesamten Text, aber ich darf noch keine Bilder posten.)
Tags und Links macos code-signing sandbox mac-app-store