<週刊 自分のごちうサーチを作る> #2 プロジェクトの構造を知る
全然週刊ペースではありませんが,前回の記事はこちらです。
今回のおしながきです。
プロジェクトに含まれているもの
作成直後はこのような状態になっている,と思います。
フォルダ(っぽいアイコン)
- References
参照している.NETアセンブリ。後述するターゲットフレームワークによって初期状態は異なります。 - Native References
ネイティブのライブラリ (.dylib, .framework) への参照を追加できます。が,ちょっとまだ解説するほど触れていません… - Components
Component Storeからコンポーネントを追加できますが,たいていモバイル向けなので,特に使う機会はないと思います。 - Packages
NuGet パッケージを追加するとこの配下にエントリが入ります。 - Assets.xcassets
アプリケーションアイコンやイメージなどアプリケーションで使うアセットを管理します。
ファイル
- AppDelegate.cs
アプリケーションのライフタイムイベント,ざっくり言えば起動して終了するまでを管理するAppDelegate
クラスです。ここに書けばアプリケーション全体から参照することができるため,使い方を間違えるととても汚くなるクラスです。 - Info.plist
アプリケーション名やバンドルID,バージョン情報と言ったアプリケーションに関するメタデータを記述します。Xamarin Studioでは専用エディタで編集できますが,このエディタではすべての項目を設定することができないため,必要なときには別のテキストエディタやXcodeで編集する必要があります。 - Main.cs
アプリケーションのエントリポイントです。ネイティブライブラリのロードは最初にここで行います。 - MainMenu.xib
メインメニューのUIデザインが記述されています。Xcodeで開いて編集します。 - MainWindow.cs / .designer.cs
NSWindow クラスとXcodeとの通信に使うデザイナクラスです。特に触る必要はありません。 - MainWindow.xib
MainWindow のUIデザインが記述されています。これもXcodeで開いて編集します。 - MainWindowController.cs / designer.cs
MainWindow に紐付くコントローラクラス,またXcodeと通信するためのデザイナクラスです。デザイナクラスを直接触る必要はありません。
ターゲットフレームワーク
クローンしたプロジェクトへの参照を追加する前に,ターゲットフレームワークを変更します。プロジェクトのプロパティを開きます。MyGochiusearch
プロジェクトをダブルクリックすると,プロパティウィンドウが開きます。
それぞれのフレームワークの違いは以前Qiitaにまとめました。
まずここではUnsupported Framework
を選択してください。いろいろ選択できますが,Mono/.NET 4.5
でかまいません。
参照の追加
前回クローンしたリポジトリから,以下のプロジェクトをソリューションに追加します。
- Gochiusearch
- ImageSearchEngine
MyGochiusearch ソリューションを右クリックし,Add Existing Project...
です。
追加できるとこんな感じ。カッコの中はブランチ名なので特に気にする必要はありません。
ImageSearchEngine
への参照を追加します。References
を右クリックしてEdit References
です。
チェックを入れて,OK
で反映します。
これで準備できました。
Windows Formsプロジェクトを動かしてみる
元アプリの動作を確認するため,Gochiusearchプロジェクトを動かしてみましょう。右クリックからRun Item
です。
mono でそのまま動作し,デバッガも使えることがわかります。