MacOSX用のアプリケーションを簡単に作るワザ

  • 投稿日:
  • by
  • カテゴリ:

Mac用のアプリケーションは開発するのが難しいとよく言われます。
実際、難しいですし、MacOSXでの開発で使うObjective-Cも非常に変態的個性的で習得の壁も高いような気がします。
しかし、最近では少し事情も変わってきてさくさくっと開発できるようにもなってきています(もちろん、その先には大きな壁が立ちはだかってはいるのですけど)。
今回は、CoreDataというフレームワークを使って、コードを書かずに(一行も!)アプリケーションを作ってみます。
まるで魔法のようにアプリケーションが完成するので、ぜひ、実際に手を動かしてみてください。

Xcodeを起動する

まず、開発環境であるXcodeを起動します。

01.png

HDD内のDeveloper/Applicationsの中に入っています。

もし、まだXcodeをインストールしていない場合は再度インストールを行う必要があります。
以下のリンク先のドキュメントを参考にして、インストールしてください。

Xcodeインストールガイド: Xcodeインストールガイドについて

プロジェクトの作成

プロジェクトを作成します。

02.png

ファイルメニューから、「新規プロジェクト」を選択します。新規プロジェクトアシスタントのダイアログが表示されます。

03.png

「Core Data Application」を選択して、「次へ」をクリックします。

04.png

今回はプロジェクト名を「IDMemo」とします。IDとパスワードの管理アプリケーションを作ろうと思っています。
最後に「完了」をクリックします。

モデルを作る

これで、プロジェクトが作成できたので、さっそく、このアプリケーションのデータ構造を作ります。
ID管理アプリケーションなので、とりあえず、IDとパスワードを保存できるようにしましょう。

05.png

プロジェクトウインドウから、「IDMemo_DataModel.xcdatamodel」を選択して、ダブルクリックします。
左上のエンティティのリストの下の「+」をクリックして、エンティティを追加します。

06.png

追加したら、名前を「Item」としてください。
続いて、プロパティを追加します。

07.png

プロパティのリストの下の「+」をクリックするとポップアップメニューが出てくるので、「属性を追加」を選択します。
まず、IDを追加します。

08.png

名前を「id」に、データ型を「文字列」にします。
同様にパスワードも追加しましょう。

09.png

名前を「password」に、データ型を「文字列」にします。
これで、データ構造が定義できました。

ユーザインタフェースを作る

続いて、このデータ構造に基づいて、データ入力およびデータ一覧の画面を作って行きます。
ここからが、「魔法」です。

10.png

まず、プロジェクトウインドウから、「MainMenu.nib(Xcodeのバージョンによっては、MainMenu.xibとなっている場合もあります)」を選択してダブルクリックします。MainMenu.nibがInterface Builderで開かれます。

11.png

この中から、「Window」を選択して、ダブルクリックします。

12.png

まだ何も部品のない空のウインドウが開かれます。

13.png

ここに、先ほど作った「Item」モデルを「Option」キーを「押しながら」、このウインドウにドラッグ&ドロップします。

14.png

このようなダイアログが表示されるので、いくつか、質問に答えます。

15.png

「Master/Detail View」を選択して、「Search Field」、「Detail Fields」、「Add/Remove」の全てにチェックをつけます。「Next」をクリックします。

16.png

次の画面では何も変更せずに、「Finish」をクリックします。
これで、ユーザインタフェースが完成してしまいます!

17.png

実行してみる

では、実際にアプリケーションを動作させて見ましょう。

18.png

プロジェクトウインドウが、モデルデザインウインドウの上部にある「ビルドして進行」ボタンをクリックします。

19.png

ファイルを保存するか聞かれるので、「すべてを保存」ボタンをクリックしてください。
これで、ビルドが始まり、アプリケーションが作られます。

20.png

実際にデータを追加できますし、検索もできます。
たった、これだけの操作でひとつのアプリケーションが完成してしまうのは驚きです。
使いやすくUIを修正したり、属性として「タイトル」を追加してみたりなど、自分なりの改造も試してみてください。