|
|
2. プロジェクトの作成
Xcode のインストールと起動
Xcode のインストールと起動については
learn C 第1回
を参照してください。
新規プロジェクトの作成
Xcode のインストールが終わりましたら初起動時の初期設定画面3つはデフォルトのままでOKです。「Welcome to Xcode」という画面も閉じてください。Xcode のメニューバーから ファイル → 新規プロジェクト... を選びます。
次の「新規プロジェクト」アシスタント画面で「Cocoa Application」を選んで次へを押します
次の「新規 Cocoa Application」アシスタント画面ではプロジェクト名を「Introducer」としてください。このプロジェクト名がアプリケーションの名前になります。一般的にはコマンドラインプログラム名は小文字で、Application (GUI) プログラムは大文字で始めるのが慣習となっています。ディレクトリはデフォルトではあなたのホームフォルダに「Introducer」プロジェクトフォルダが作られることになっています。違う場所に保存したければ「選択...」を押して保存場所を指定してください。以前のコマンドラインプログラムの場合はターミナルでの移動の手間を考えてすべてホームフォルダ内に保存するようにしていましたがこの Xcode のプロジェクトの保存場所は気にせずに例えばデスクトップに新規フォルダを作ってその中に保存するなどあなたの都合の良い場所にして下さい。
なおここで作られるプロジェクトフォルダには今後このアプリケーションに関するすべてのリソースをこのフォルダ中に入れていくようにします。ただし Finder 上でこのプロジェクトフォルダに入れても次に表示されるプロジェクトファイルにすぐに反映されるわけではありません。リソースをプロジェクトに追加する方法はおって説明していきます。「完了」を押すと自動的にプロジェクトウィンドウが開きます。
「グループとファイル」という左の枠の一番上にはプロジェクトファイルが位置しています。これを選択すると右の「ファイル名」という枠の中にプロジェクトに含まれているすべてのファイルが表示されます。
プロジェクトファイルの左横のトグル(三角形)はすでに開いている状態になっています。中には5つのフォルダがあります。このファルダは私達が視覚的に整理するためだけのものでプロジェクトにリソースが追加されていればどのフォルダにリソースが分類されていてもプログラムにはまったく影響しません。
Classes フォルダ
現在は空だと思いますが、今後新しく作っていくクラスファイルはこの中に入れていくようにします。
Other Sources フォルダ
プログラムのスタート地点となる main 関数の書かれた main.m と Introducer_Prefix.pch というファイルが含まれています。Cocoa Application では普通 main.m は一切変更せずにそのまま使います。Introducer_Prefix.pch はコンパイルの速度をあげるためのファイルですが、プログラムに直接的には影響しません。
Resources フォルダ
Info.plist はプログラムのバージョン番号・アイコン・識別子などを管理するファイルです。InfoPlist.strings (English) は英語版としてプログラムが起動した時に前述の Info.plist の一部を英語版特有の値で上書きするためのファイルです。MainMenu.nib (English) は GUI をまとめて管理しているファイルです。これをダブルクリックすると Interface Builder が起動してグラフィック・ソフトのような操作で GUI を構築していけます。前回で説明したようにまず英語版を作る仕様になっているので現在は (English) 版しか存在しません。
Frameworks フォルダ
前回説明したようにフレームワークとはアプリケーションを作るうえで便利なクラスや関数などが最初から用意されているライブラリです。Foundation.framework はプログラムの基礎的な部分をまとめたもの、AppKit.framework は GUI クラスをまとめたもの、Cocoa.framework は Foundation と AppKit を1つの framework にまとめたもの、CoreData.framework はデータ管理、とくにモデルを構築する上で便利なもの、ということになります。
Products フォルダ
実際にコンパイルされた実行ファイルが入ります。現在はまだ存在していないので赤字で表示されていると思います。
以上のプロジェクトファイルとその中の5つのファルダ内のファイルは実在するリソースですが、それ以外に今後必要となる2つのフォルダの説明もしておきます
ターゲット
ビルド(コンパイル)の目標という意味になりますが、複数のターゲットを設定して少しずつ違うアプリケーションを作ることもできます。しかし普通は1つのプロジェクトに1つのターゲットというのが一般的みたいです。テストとして違うターゲットを設定することもあるでしょうがここで取り上げたのはそういう新たなターゲットを作るためではなくプログラムの設定をする時にここからアクセスするのが近道だからです。使い方については後ほど説明します。
エラーと警告
コンパイル時に出たエラーと警告の一覧が表示されます。その一覧をクリックするとエラーのあるソースコードの箇所へリンクします。実際のコンパイル時にはお世話になることだろうと思います。エラーがあるとコンパイルは完了しません。警告だけですとコンパイルは完了しますができるだけエラーも出ないところまでソースコードを修正したほうが良いでしょう。
プロジェクトの設定
プログラムの詳しい設定は第6回の「設定と実行」で説明しますがここでは先にいくつかの設定を済ませておきます。まずプロジェクトウィンドウの左上の「アクティブターゲット」の右横に「アクティブなビルド構成」というのがあります。ポップアップメニューに Release と Debug があると思いますが Release に変えておきましょう。一応2つの違いを説明しておきます
Release
完全に独立した形式の実行ファイルとしてコンパイルされます。コンパイル時にエラーと警告は出ますがデバッグと呼ばれるソースコードを1行ずつエラーを探しながら進めていくという作業はできません。
Debug
文字通りデバッグができます。そしてまた完全に独立した実行ファイルとしてまではコンパイルしませんのでコンパイル時間の短縮ができます。開発時に向いているビルド構成です。
今回ここで先に Release に設定したのは
・実際の配布時に Release でビルドするのを忘れてしまう。Debug でビルドした実行ファイルは他のマックに持っていくと動作しない
・今回のような至って小規模なサンプルプログラムではコンパイル時間は気にするほどかからない。
・デバッガの使い方の説明はこのコーナーには含まれていない。またデバッガを必要とするほど複雑なコード構成でもない
などが理由ですが、その中でも最初の理由が一番大きいでしょう。
次に「グループとファイル」の「ターゲット」のトグル(左の三角形)をクリックして下の階層を表示します。そして「Introducer」を右クリックもしくは Control + クリックして「情報を見る」を選択します。
次に現れる「ターゲット "Introducer" の情報」で「ビルド」タブを選びます。まずここでも「構成」を Debug から Release に変えてください。次に「タイトルと値」欄をスクロールして中ほどすぎに「Objective-C ガベージコレクション」という欄があります。そこの値を「サポートあり」もしくは「必須」に変更します。ついでに「構成」を Debug にしてこちらも一応「サポートあり」か「必須」しておくと良いでしょう。
アプリケーションの開発時には途中で何度となくビルドしてテストします。このコーナーではというか今年に入ってからのすべてのコーナーでは Objective-C 2.0 のガベージコレクションを採用しています。コマンドラインプログラムの場合はうっかりガベージコレクションを有効にしていなくても実行時にターミナルにエラーが表示されるだけです。しかしアプリケーションプログラムの場合はガベージコレクションを有効にするのを忘れているとフリーズ状態にまで落ち入ります。ガベージコレクションを使ってプログラミングするのであればプロジェクトを作成したらまず最初にこの設定をしておくと良いでしょう。
プロジェクトフォルダー
プロジェクトフォルダーを開いた場面のスナップショットも載せておきます。
水色の「Introducer.xcodeproj」というファイルがこのプロジェクトを管理しているファイルです。プロジェクトを開く場合はこのファイルをダブルクリックします。開発中のプロジェクトがあればプロジェクトフォルダーかもしくはこの xx.xcodeproj だけでも Dock に登録しておくと便利でしょう。
「English.lproj」フォルダも開いてみました
お疲れさまでした。これで Cocoa GUI App 第2回は終ります。
|
|
|