2011-12-05 64 views
6

如何在沒有XCode的情況下構建沙盒應用程序?我的意思是我使用gcc Make來構建我的應用程序和自己的系統來創建應用程序包。但是,如何在不使用XCode的情況下啓用Sandbox並選擇它的Sandbox選項?如何在沒有XCode的情況下構建沙盒應用程序?

有關於沙盒,但我找不到有關啓用沙盒的任何信息,但仍沒有關於沒有XCode的SB。任何人都可以提供幫助嗎? http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxQuickStart/AppSandboxQuickStart.html#//apple_ref/doc/uid/TP40011183-CH2

+0

你的應用程序是否有Info.plist文件? –

回答

8

在Xcode之外編寫代碼很容易。只需在一個單獨的plist文件中像這樣創建您的權利:

<?xml version="1.0" encoding="utf-8"?> 
<plist version="1.0"> 
    <dict> 
     <key>com.apple.security.app-sandbox</key> 
     <true/> 
    </dict> 
</plist> 

一旦你擁有了它,只需發出此命令的代碼簽名您的應用程序捆綁並啓用沙盒,通過使其成爲權益的一部分:

codesign -s - -f --entitlements /path/to/entitlement.plist /path/to/YourApp.app/ 

如果您已經用證書代碼簽名,只需用'-s「第三方Macintosh開發人員替換'-s - '並使用您的開發人員證書即可。

+0

如果我不希望我的應用程序被沙盒化,該怎麼辦?我正在編寫的應用程序可能永遠不會分發到應用程序商店,因爲它是特定於某個特定硬件產品的;此外它還需要沙箱內可能無法提供的服務/功能。我可以用我的開發人員ID對應用程序進行編碼簽名,而不指定任何權利,沙盒等等?將刪除「--entitlements <文件」選項的工作? –

+1

是的。但這個問題是關於一個沙盒應用程序! – Philippe

+0

正在問我一個一次性/正切的問題,就像我沒有猶太教的方式那樣做?我真的需要爲它開闢一個新話題嗎? –

相關問題