2009年8月21日金曜日

iPhoneアプリ開発(その3:mac os環境整備)

その1での疑問が少し解決したので、メモしておきます。

Q: emacs がターミナルの中でしか起動しない。"-nw"オプションをつけている訳でもないのに。
  • A: プレインストールされているemacsはターミナルの中でしか起動しないものだそうです。独立したアプリケーションとして別ウィンドウで起動したい場合にはCarbon Emacsをインストールすればよいです(インストールは簡単!)

Q: chshでshellをtcshに変えたがそれが反映されない。
  • ターミナルの設定で変更しないとダメみたいです。メニューからFile=>Preferencesで表示されるダイアログで、以下のように設定すればOKです。
terminal-setting-window
  • ちなみに上記の画像はPreviewというアプリケーションでキャプチャしました。File=>Grab=>Windowでキャプチャ対象ウィンドウを選択できます。あとはFile=>SaveAs..で保存するだけ。


Q: Xcodeのキーバインドは変更できるのかな(ググればすぐにでてきそうだけど)。
  • A: やはりできるみたい。
  • Xcodeではなくmacそのもののキーバインドですが、[ALT]をCommand Keyに割り当てておくとWindowsの操作感を引き継げて快適です。[ALT]+[TAB]でウィンドウ切り替えができたり、emacs上で[ALT]+[X]でm-xを入力できたり・・・。
modifier-keys
自分にとってはこれがベストです。macキーボードでない、普通のPCキーボードは、[ALT]がオプションキー、[Windows]がコマンドキーに割り当てられています。

Q: [fn]キーのロックを解除する。
  • デフォルトでは、[fn]キーがロックされた状態でファンクションキーを入力しようとすると、ディスプレイの輝度が変更されたりします。
  • ロックを解除するには[システム環境設定]-[キーボード]で「F1,F2などのすべてのキーを標準のファンクションキーとして使用」にチェックを入れます。
  • ここの情報を参考にしました。

Q: "¥"と"\"の入力方法

  • デフォルトでは"¥"が入力されます。
  • "\"を入力するには[Command]キーを押しながら[¥]キーを入力します。
  • デフォルトを変更するには「日本語の入力設定」で「"¥"キーで入力する文字」を変更します。こちらの情報を参考にさせていただきました。


私と同じようなWindows/Linuxに慣れきった方がmac osに移行した場合のTIPSになれば幸いです。


2009年8月9日日曜日

iPhoneアプリ開発(その2:Objective-C編)

今日はObjective-Cの学習をメインに行いました。
C言語を拡張してオブジェクト指向対応させた言語ということでC++と似たものかと思っていましたが、全く別物だということが分かりました。
C++が静的型付け言語であるのに対し、Objective-Cは動的型付け言語になっています。
カテゴリ機能により既存クラスにメソッドを追加できる所などは、ruby等のスクリプト言語を想起させます。
その他、注目ポイントを列挙しておきます。
  • プロトコル(形式プロトコル)は Java の Interface 相当のもの
  • セレクタは Java の Reflection における Method クラスのようなもので、@selector指示子もしくはNSSelectorFromStringメソッドで取得できる
  • 任意のインスタンスにおいて class メソッドで Class インスタンスを取得でき、クラスのメタ情報を取得できる
  • NSObject は以下のようなメソッドを持っていて、Class やセレクタと組み合わせて様々な情報を得ることができる
    • respondsToSelector: 引数で渡されたセレクタが実装されているかどうかを調査
    • performSelector: セレクタで渡されたメソッドを呼び出す
    • isKindOfClass: 継承関係の調査
    • isMemberOfClass: 継承関係ではなくそのクラス直属のインスタンスかどうかを調査
    • description クラス名を文字列で返す
今日の学習は以下のサイトを利用しています。非常に分かりやすくまとまっていて役に立ちました。
http://journal.mycom.co.jp/column/objc/index.html

iPhone自体の勉強はまた明日・・・。


2009年8月8日土曜日

iPhoneアプリ開発(その1:素朴な疑問)

iPhoneアプリ開発を始めました。
ちなみに私はObjective-Cは初心者です。CとC++についての知識はありますが。
先日購入したmac miniにiPhone SDkをインストールし、まずはサンプルプログラムをさわってみようかなということで、AppleのDevelovper ConnectionからTochesというサンプルプログラムをダウンロードしてみました。
このサイトを参考に環境構築。

そして下記のURLをからサンプルを入手して、ビルド実行してみたものの、根本的なところでつまずいてしまいました。

以下がそのつまずき一覧です。
  • MyViewクラスでイベントに応じた実装がされているのですが、このViewがどこから登録されているのかが分からない。
  • ReadMeを読むとマルチイベントを有効にするにはInterface BuilderかsetMultipleTouchEnabledの呼び出しでフラグを立てる必要がある、とあるがどちらのやり方もまだ分からない。
  • mac上で動作するiPhone Emulatorでピンチ(拡大・縮小の操作)の操作ができない。アイコン操作では無理な気がするのだが可能なのだろうか・・・?
学習が進めばこれらの疑問も解決すると思っているのですが、まだまだいろいろつまずきポイントがありそうです。

初めてのmacなのでmac OS X そのものにつまずいている点もあります。ついでにそれらも列挙しておきます。
  • emacs がターミナルの中でしか起動しない。"-nw"オプションをつけている訳でもないのに。
  • chshでshellをtcshに変えたがそれが反映されない。
  • Xcodeのキーバインドは変更できるのかな(ググればすぐにでてきそうだけど)。
このあたりも解決したものからエントリにしていきたいです。