2012-08-06 8 views
18

私はコマンドラインツールを含むアプリを作った。私は、アプリのサンドボックスを有効にして、それが動作することをテストしました。私はまた、アプリケーションとコマンドラインツールの両方にコード署名しました。Mac OSアプリ、コマンドラインツールを使用したサンドボックス?

しかし、iTunesにアプリケーションをアップロードすると、「アプリケーションサンドボックスが有効になっていません」というメールが届きました。 /Contents/MacOS/myApp/contents/Frameworks/x86/myCommandLineTool

どうやら私はtrue値を持つキーcom.apple.security.app-sandboxのエンタイトルメントファイルを設定し、実行可能ファイルを一覧表示する必要があります。

私はXcodeでサンドボックスを有効にしていると確信しています。そのため、問題はコマンドラインツールであると考えました。

コマンドラインツールでサンドボックスを有効にするにはどうすればよいですか?または、ツールを置くべき特定のフォルダがありますか?どんな提案も大歓迎です - 私は数日間それに悩まされています。

+0

andrewdotnichさんの編集に感謝します。 – dinosaur

答えて

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

+0

ありがとうございました。あなたは私の一日を救った! – rmvz3

+0

これはちょうど私の一日を作った!ありがとう! – SevenBits