2012-08-06 8 views
18

Ich habe eine App erstellt, die ein Befehlszeilentool enthält. Ich habe die Sandbox der App aktiviert und getestet, dass sie funktioniert. Ich habe auch die App und das Befehlszeilentool mit Code signiert.Mac OS App, Sandbox mit Befehlszeilen-Tool?

Aber als ich die App auf iTunes hochgeladen habe, erhielt ich eine E-Mail, die mir sagte, dass "App Sandbox nicht aktiviert" ist.

Anscheinend muss ich Berechtigungsdatei von Schlüssel com.apple.security.app-sandbox mit true Wert setzen, und die Liste der ausführbaren Dateien: /Contents/MacOS/myApp und /contents/Frameworks/x86/myCommandLineTool.

Ich bin sicher, dass ich Sandbox in Xcode aktiviert habe, also dachte ich, das Problem liege mit dem Befehlszeilenprogramm.

Wie kann ich Sandbox für das Befehlszeilenprogramm aktivieren? Oder gibt es einen bestimmten Ordner, in den ich das Tool legen sollte? Irgendwelche Vorschläge willkommen - ich habe seit einigen Tagen davon geplagt.

+0

danke für andrewdotnichs Bearbeitung. – dinosaur

Antwort

22

hatte ich das gleiche Problem und nach einiger Suche, Versuch & Fehler, das ist was für mich gearbeitet:

  1. eine Berechtigungsdatei erstellen - für mich ist es nur com.apple.security.inherit Satz war zu JA. Ich habe diese Datei in xcode selbst erstellt.

  2. Jetzt dieses Kommandozeilen-Tool unterzeichnen den Befehl:

    codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool 
    
  3. Nur um sicher zu sein, lesen Sie in diesem Befehl:

    codesign --display --entitlements - ./commandlinetool 
    
  4. Dieses Tool wurde bereits in das Projekt einbezogen. Also nur kompilieren, Archiv & einreichen

Der Status nun ‚zur Überprüfung warten‘.

+0

vielen Dank. :) – dinosaur

+0

Danke Mann. Du hast meinen Tag gerettet! – rmvz3

+0

Das hat meinen Tag einfach gemacht! Vielen Dank! – SevenBits