Xamarin.Forms リポジトリの macOS ブランチが最近いい感じになりました。
久々にまとまった時間ができたので基本的な部分を動かすべく,取り組んでみました。
環境
- macOS Sierra 10.12 16A320
- Xcode 8 8A218a
- Xamarin Studio 6.1 b5436
- Xamarin.iOS 10.0.0.4
- Xamarin.Mac 2.10.0.99
この環境整備にかなりの時間を取られた。
必要なもの
今のところNuGetパッケージではインストールできないので,下記DLLをなんとかビルドします。
- Xamarin.Forms.Core.dll
- Xamarin.Forms.Platform.dll
- Xamarin.Forms.Platform.MacOS.dll
- Xamarin.Forms.Xaml.dll
プロジェクトの作成
Formsプロジェクトを作成します。Androidはまあ,どうでもいいです。
できあがったら,Cocoa App プロジェクトを追加します。
Main.storyboard と ViewController.cs は不要なので削除し,MainMenu.xib を追加します。
MainMenu.xibをXcodeで開き,File's ownerのdelegateアウトレットをAppDelegateに接続します。詳細は割愛。
Info.plist の Main Interface を MainMenu に変更します。
ビルドしておいたXamarin.Formsのアセンブリと,Coreプロジェクトをを参照に追加し,AppDelegate内でForms.Initを呼び出します。他初期化をここで。
ここまでやればこの表示まではたどり着けるはず。
DisplayAlertは未実装のため,MessagingCenterを使って各プラットフォームでアラートを表示するコードを追加するとこんな感じに。XAMLでButtonも追加してます。
プロジェクトのフォルダ構成がいまいちになってますが,コードを公開してあります。