2012-08-06 123 views
18

我製作了一個包含命令行工具的應用程序。我已經啓用了應用程序的沙箱,並測試它的工作原理。我還對應用程序和命令行工具進行了代碼簽名。Mac OS應用程序,帶命令行工具的沙箱?

但是,當我上傳應用程序到iTunes,我收到一封電子郵件告訴我「應用程序沙盒未啓用」。

顯然,我需要設置的關鍵com.apple.security.app-sandbox授權文件與true值,並列出了可執行文件:/Contents/MacOS/myApp/contents/Frameworks/x86/myCommandLineTool

我確定我已經在Xcode中啓用了沙箱,所以我認爲問題出在命令行工具上。

如何啓用沙盒的命令行工具?還是有一個特定的文件夾,我應該把這個工具?任何建議的歡迎 - 我已經困擾了好幾天。

+0

感謝andrewdotnich的編輯。 – dinosaur 2012-08-06 03:39:22

回答

22

我有同樣的問題和一些搜索,審判&錯誤之後,這是對我工作:

  1. 創建一個授權文件 - 對我來說,這只是com.apple.security.inherit集到YES。我在xcode本身創建了這個文件。

  2. 現在使用命令簽署這一命令行工具:

    codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool 
    
  3. 只是可以肯定,請使用以下命令:

    codesign --display --entitlements - ./commandlinetool 
    
  4. 這個工具已經包含在項目中。所以只要編,歸檔&提交

狀態現在是否爲「等待審覈」。

+0

非常感謝。 :) – dinosaur 2012-08-27 03:02:51

+0

謝謝你。你救了我的一天! – rmvz3 2013-01-30 20:40:42

+0

這只是我的一天!謝謝! – SevenBits 2014-12-10 21:40:40