2012-08-06 18 views
18

Ho creato un'app che include uno strumento da riga di comando. Ho attivato la sandbox dell'app e ho verificato che funzioni. Ho anche firmato con il codice sia l'app che lo strumento da riga di comando.Applicazione Mac OS, sandbox con strumento da riga di comando?

Ma quando ho caricato l'app su iTunes, ho ricevuto una e-mail che mi diceva "App sandbox not enabled".

A quanto pare ho bisogno di impostare il file diritto di chiave com.apple.security.app-sandbox con true valore, ed elencare gli eseguibili: /Contents/MacOS/myApp e /contents/Frameworks/x86/myCommandLineTool.

Sono sicuro di aver attivato sandbox in Xcode, quindi ho pensato che il problema fosse con lo strumento da riga di comando.

Come abilitare sandbox per lo strumento da riga di comando? O c'è una cartella specifica dovrei mettere lo strumento? Qualche suggerimento benvenuto - Sono stato turbato da esso per diversi giorni.

+0

grazie per la modifica di andrewdotnich. – dinosaur

risposta

22

Ho avuto lo stesso problema e dopo un po 'di ricerca, prova & errori, questo è ciò che ha funzionato per me:

  1. creare un file di diritto - per me era solo set com.apple.security.inherit a SÌ. Ho creato questo file in xcode stesso.

  2. ora segnale questo strumento a riga di comando con il comando:

    codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool 
    
  3. solo per essere sicuri, controllare con questo comando:

    codesign --display --entitlements - ./commandlinetool 
    
  4. Questo strumento è stato già incluso nel progetto. Quindi, solo compilare, archivio & presentare

Lo stato è la società 'attesa per la revisione'.

+0

grazie mille. :) – dinosaur

+0

Grazie amico. Mi hai salvato la giornata! – rmvz3

+0

Questo ha reso la mia giornata! Grazie! – SevenBits