iPhone app. development using Visual Studio (how to use intellisense)

Abstract

Although MonoDevelop provides sufficient and sophisticated design environment, I still want to stick to Visual Studio (VS) for its intelliSense and refactor.
I can use VS with monotouch simply adding a assembly file /Developer/MonoTouch/usr/lib/mono/2.1/monotouch.dll to a reference. IntelliSense works. I can even build codes (although I can not link it), this can be help of correcting compiling errors on VS.

はじめに

Visual Studioを使いiPhoneアプリ開発を行います.
とはいえ,C#のコードをiPhone向けにコンパイルするMonoTouchおよび動作検証に用いるiPhoneシミュレータはMac OS X環境でしか動作しません (ライセンスの問題さえ解決できればエミュレータ上のMac OS Xを使う手はありますが).したがってここの目指すところは,ソースコードを書くこと,そして設計リソースをシームレスにMac OS Xコンパイルおよびテスト環境につなげること,の2点とします.
このエントリは,Visual StudioでMonoTouchのソースコードを書く環境を構築します.

このエントリが役立つ方

このエントリは十分なVisualStudioの開発経験がある方をターゲットとします.このエントリは,iPhoneアプリケーション開発をするが,Mac OS Xは未経験,あるいは慣れる時間が惜しい方に役立つと思います.

なぜVisual Studioを使うのか

Visual Studioで便利な機能は(チームではなく個人で開発する小規模な開発では) intellisenseとrefactoringかと思います.MonoDevelopにもこれらの素晴らしい機能が盛り込まれていますが,候補を表示するタイミングやレスポンスの違いや,カスタマイズを含めて蓄積した開発リソースをそのままシームレスにiPhoneアプリケーション開発に繋げられることはメリットがあります.
また今後Android, micro framework など様々なプラットホームに向けた開発が一般的になると考えます.これらの開発では共通のロジックにUIを薄いラッパとして被せていくでしょう.このような展開が視野にあるならば,プラットホーム(むしろUIと呼ぶほうが適切でしょうが)により開発環境を選択することは,投資と効率の点から望ましくありません.
"書くためのツール"は開発工程でもっとも長い時間手に触れるツールです.ツールは1つに絞ったほうがいいと考えます.

Intellisenseを使うまでの手順

手順を以下にまとめます.作業自体は3分で完了します:

  • MonoTouchの開発環境にあるdllをVisual Studioの開発機にコピーする.
    • /Developer/MonoTouch/usr/lib/mono/2.1/ 以下にある *.dll をコピーします.
  • Visual Studioで空のプロジェクトを作り,先ほどのdllを参照に追加する.
    • mscorelib.dll を除くdllを追加します.
    • System*dllなども,一応,monotouch由来のものをコピーしています.

スクリーンショットを下図に示します.
[,w400]

まとめ

iPhoneアプリケーションをVisual Studioで行う手順として,インテリセンスの利用を行いました.この方法は実際にビルドを実行できますから,コンパイル時に判別できるエラーはVS上で修正ができるメリットがあります.これによりMDを単なるビルド環境にできます.
次回は,このソリューションファイルからシームレスにコンパイルとシミュレーターで実行するまでの手順を紹介します.