2012-01-25 23 views
3

私はthis tutorialを使用してアプリケーションにログイン項目を追加しています。そのほとんどは期待どおりに動作し、サンドボックスのヘルパーアプリケーションを作成して起動サービスに登録しているので、ログイン時に起動する必要があります。サンドボックスヘルパーアプリケーションが正しい親アプリケーションを起動できません

このチュートリアルでは、このヘルパーアプリケーション内からメインアプリケーションバンドルを起動する方法についてはあまり具体的ではないという問題があります。

[[NSWorkspace sharedWorkspace] launchApplication: 
@"/Path/To/Main/App/Bundle"]; 

しかし、私はサンドボックスがこれを許可していないので、それが失敗した完全なパスを使用してアプリケーションを起動するために任意のNSWorkspaceメソッドをしようとした場合:これだけを含んでいます。

上記のメソッドの引数を自分のアプリケーション名に設定しようとすると、動作しますが、私のアプリケーションの旧バージョンが奇妙に起動します(これらはHDDに保存されていますが、アプリケーションフォルダ、私のアプリケーションの正しいバージョンだけが/アプリケーションフォルダにあります)

これはどうして起こるのでしょうか、それともどうすればいいですか?

+0

登録されているMacデベロッパーの方は、デベロッパーフォーラムで質問してみてください。デベロッパーフォーラムでは、誰でもあなたが同じNDAの下にいることを知っています。 – CRD

答えて

6

ヘルパーアプリには、バンドルへのパスではなく実行ファイルへのパスが必要であることがわかりました。あなたはそれを与えている場合

ので: /アプリケーション/マイグレートApp.app は、使用してみてください: /Applications/MyGreatApp.app/Contents/MacOS/My素晴らしいアプリ

そして、あなたのサンドボックスアプリがない場合にはアプリケーションフォルダでは、さまざまなアクセス許可のエラーを記録しながら、これは自動的に失敗します。

+0

ありがとう、一日のうちにこれに苦しんできたこのポストにつまずいた。 –

関連する問題