2010/12/16: XCodeでスクリーンセーバーを作る時のデバッグ方法
Xcde上でObjective-CでMacOSX用のスクリーンセーバーを作成する際のデバッグ方法で苦戦したのでメモです。XcodeのScreenSaverテンプレートで新規プロジェクトを作り、実行時にNSLogを使って出力するまでの方法をまとめます。
環境:
MacBook
MacOS 10.6.5
XCode 3.2.4
SaverLab1.7.4
1)XCodeで「ScreenSaver」テンプレートから新規プロジェクトを作成します。(例としてプロジェクト名「TestSaver」とします)

2)animateOneFrameの中にNSlogで出力用のコードを書きます。

3)この段階で一度ビルドします。ビルドを実行するとスクリーンセーバーファイル「TestSaver/build/Debug/TestSaver.saver」が作成されるので、これをダブルクリックしてインストールします。インストールできたら環境設定パネルは終了してください。

5)次に、SaverLabというアプリケーションをダウンロードしてきて、解凍後Applicationフォルダにインストールします。
> SaverLab
6)XCodeに戻って、「グループとファイル」のカラムで右クリックし、プロジェクトに「新規カスタム実行可能ファイル」を追加します。

7)ポップアップで、先ほどインストールした「SaverLab」のアプリケーションファイルを選択し、「完了」を押します。

8)カラムに「実行可能ファイル」が追加されたら、今度は「概要」のプルダウンから「アクティブアーキテクチャ」を「i386」に変更します。理由は理解できていませんが、その他だとエラーが出てビルドできませんでした。

9)「ビルドと実行」が有効になっているはずなので、実行します。
10)SaverLabが立ち上がるはずなので、一覧の中から「TestSaver」をダブルクリックして立ち上げます。すると、コンソールが立ち上がって出力されるはずです。コンソールが立ち上がらない場合はメニューから「Control > Show Console Window」で開いてください。Preferenceで自動的にコンソールを立ち上げる設定にも出来ます。

以上です。
注意点としては、実行する前に一度ビルドしてインストールを済ませてからでないと、うまく出力されないこと。SaverLab単体では同じく出力されず、XCodeから実行しないといけない点です。もしかしたら、後者は別の手だてがあってもおかしくないと思うのですが、調べられたのはここまででした。ソースを編集して、再び試したい場合は、再度3)の手順から行う必要があります。スクリーンセーバーのデバッグって面倒ですね。
※ もっといい方法があったら、ぜひ教えてください!
トラックバックURL
環境:
MacBook
MacOS 10.6.5
XCode 3.2.4
SaverLab1.7.4
1)XCodeで「ScreenSaver」テンプレートから新規プロジェクトを作成します。(例としてプロジェクト名「TestSaver」とします)

2)animateOneFrameの中にNSlogで出力用のコードを書きます。

3)この段階で一度ビルドします。ビルドを実行するとスクリーンセーバーファイル「TestSaver/build/Debug/TestSaver.saver」が作成されるので、これをダブルクリックしてインストールします。インストールできたら環境設定パネルは終了してください。

5)次に、SaverLabというアプリケーションをダウンロードしてきて、解凍後Applicationフォルダにインストールします。
> SaverLab
6)XCodeに戻って、「グループとファイル」のカラムで右クリックし、プロジェクトに「新規カスタム実行可能ファイル」を追加します。

7)ポップアップで、先ほどインストールした「SaverLab」のアプリケーションファイルを選択し、「完了」を押します。

8)カラムに「実行可能ファイル」が追加されたら、今度は「概要」のプルダウンから「アクティブアーキテクチャ」を「i386」に変更します。理由は理解できていませんが、その他だとエラーが出てビルドできませんでした。

9)「ビルドと実行」が有効になっているはずなので、実行します。
10)SaverLabが立ち上がるはずなので、一覧の中から「TestSaver」をダブルクリックして立ち上げます。すると、コンソールが立ち上がって出力されるはずです。コンソールが立ち上がらない場合はメニューから「Control > Show Console Window」で開いてください。Preferenceで自動的にコンソールを立ち上げる設定にも出来ます。

以上です。
注意点としては、実行する前に一度ビルドしてインストールを済ませてからでないと、うまく出力されないこと。SaverLab単体では同じく出力されず、XCodeから実行しないといけない点です。もしかしたら、後者は別の手だてがあってもおかしくないと思うのですが、調べられたのはここまででした。ソースを編集して、再び試したい場合は、再度3)の手順から行う必要があります。スクリーンセーバーのデバッグって面倒ですね。
※ もっといい方法があったら、ぜひ教えてください!