5

Xcode 4.6 でクイックルック プラグインをデバッグしようとしています。スキームの編集で実行可能ファイルを作成しました。

プロジェクトをビルドすると、プラグインが「/Library/Quicklook」パスにインストールされません。というより、どこにもありませんでした。

プラグインをデバッグ モードで実行し、別のファイルでプラグインがクラッシュする場所を特定できるように、ブレークポイントに到達したいと考えています。

誰かが彼の知識を共有できれば素晴らしいことです。前もって感謝します。

4

3 に答える 3

10

NSLogQL プラグインのデバッグにブレークポイントと関数を使用できます。ただし、最初に環境を構成する必要があります。

  • Project Navigator でプロジェクトを選択します
  • 次に、QL プラグイン ターゲットを選択します
  • ビルドフェーズ」タブに移動し、新しいフェーズ「ファイルのコピー」を追加します
  • 宛先ドロップダウンメニューで「絶対パス」を選択~/Library/QuickLookし、サブパスとして設定します
  • ターミナルを開きqlmanage、コマンドでプロジェクトのルート ディレクトリにコピーします。cp /usr/bin/qlmanage PROJECT_ROOT_DIR
  • 次に、メニューの [製品] -> [スキーム] -> [スキームの編集... ] を選択します。
  • スキームリストで「実行」を選択します
  • 情報タブで実行可能ドロップダウンメニューを選択し、次に「その他...」を選択qlmanageし、プロジェクトのルートディレクトリにコピーしたバイナリを選択します
  • 引数タブで、「 Arguments Passed On Launch 」の行を追加し、値をに設定します-p FULL_PATH_TO_FILE_FOR_PREVIEW

すべての手順が完了したら、プロジェクトを実行してコードをデバッグできます。

于 2013-07-23T10:04:43.350 に答える
10

上記の手順がうまくいかなかったため、Xcode 6は何らかの形で異なるに違いありません。しかし、これが今日私が困惑した解決策であり、それはうまくいきます。うまくいけば、それは他の誰かを助けるでしょう。

(プラグインの名前が であると仮定しますmyplugin.qlgenerator)

まず、上記の以前の解決策を試した場合は、元に戻してください。

  1. バイナリをコピーするコピー フェーズを削除し、プロジェクトのルートにコピーした可能性~/Library/Quicklookのあるコピーを削除します。qlmanage

実行可能ファイルを に設定し/usr/bin/qlmanageます。「qlmanage」は、プラグインをロードして実行するプログラムです。

  1. スキームを編集します。

  2. 左側のリストから「実行」を選択し、右側のディスプレイの「情報」タブを選択します。

  3. 実行可能ポップアップから「その他...」を選択します。標準のファイル シートが表示されます。

  4. cmd-shift-g と入力します。[フォルダへ移動] シートにテキスト フィールドが表示されます。

  5. 入力/usr/bin/してGoボタンを押します。標準ファイル シートに の内容が表示され/usr/binます。

  6. 「qlmanage」バイナリを選択します

  7. [Debug executable] チェックボックスをオンにして、[Choose] ボタンをクリックします。

Xcode が qlmanage に渡す引数を構成する

  1. [スキームの編集] シートの [実行] セクションで [引数] タブを選択します。

  2. 以前の試行で残っている可能性のある引数をすべて削除します。

  3. -c public.data起動時に渡される最初の引数として追加します。プラグインがサポートする UTI の種類によっては、これを変更する必要がある場合があります。

  4. -g $(BUILD_DIR)/Debug/myplugin.qlgenerator2 番目の引数として追加します。これは、プラグインのデバッグ バージョンへのパスに解決されます。

  5. -p '/fullpath/to/file/to/be/quicklooked3 番目の引数として追加します。これは、既に存在するはずのファイルへのパスです。プラグインは、このファイルのプレビューをレンダリングするよう求められます。

  6. スキームシートを閉じます。

それでおしまい。これで、ブレークポイントの設定 (およびヒット) を含め、プラグをデバッグできるはずです!

于 2014-12-22T23:45:23.397 に答える