Xamarin.Forms.Platform.MacOS を動かす
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も追加してます。
プロジェクトのフォルダ構成がいまいちになってますが,コードを公開してあります。