2012-06-26 62 views
5

試圖讓我的應用程序可與沙箱我會卡在這個問題:沙箱,登錄項目和啓動應用

我需要增加我的應用程序登錄的項目,所以我已經按照下列步驟操作:

  • 在開放EXEC創建HelperApp.app(與is agent = YES),此代碼:

    的NSString * APPPATH = @ 「/應用/ MyNewApp.app」; [[NSWorkspace sharedWorkspace] launchApplication:appPath]; [NSApp終止:無];

    這個程序是沙盒。

  • 我加了一個副本構建階段我MyNewApp.app同捆子路徑Contents/Library/LoginItems和目的地wrapper

    而且顯然也是MyNewApp.app是沙箱

  • MyNewApp.app我用SMLoginItemSetEnabled註冊的捆綁ID HelperApp.app

現在所有工作正常,但...當MyNewApp.app嘗試啓動MyNewApp.app我得到一個錯誤:

LSOpenFromURLSpec() returned -10827 for application /Applications/MyNewApp.app path (null). 

但是,如果我嘗試使用HelperApp.app推出沒有沙箱(即Steam.app)應用程序就像一個魅力!

是否有另一種方式來啓動應用程序?可能NSWorkSpace與沙盒上下文中不允許的函數一起使用。你有什麼建議?

回答

4

你可能想看看我的教程how to get launch at login working in the sandbox

+0

不錯的教程!但我不明白爲什麼它可以工作,如果我用2個項目創建一個工作區,並且如果我使用2個不同的項目,並且我通過複製捆綁軟件複製幫助程序應用程序不起作用。 – MatterGoal

+0

好問題。我必須承認,我手邊沒有答案,我通過試驗和錯誤找到了工作解決方案。 – Tim

+3

請將基本知識添加到您的答案中。當教程離線時,只有鏈接的答案就變成無用的。 – dandan78