うさぎ駆動開発

UWP, Xamarin.Macを中心によしなしごとを書いていきます。

Xamarin.Forms.Platform.MacOS を動かす

Xamarin.Forms リポジトリmacOS ブランチが最近いい感じになりました。

github.com

久々にまとまった時間ができたので基本的な部分を動かすべく,取り組んでみました。

環境

  • 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はまあ,どうでもいいです。 f:id:ailen0ada:20160912004610p:plain

できあがったら,Cocoa App プロジェクトを追加します。 f:id:ailen0ada:20160912004659p:plain

Main.storyboardViewController.cs は不要なので削除し,MainMenu.xib を追加します。 f:id:ailen0ada:20160912004840p:plain

f:id:ailen0ada:20160912004904p:plain

MainMenu.xibXcodeで開き,File's ownerdelegateアウトレットをAppDelegateに接続します。詳細は割愛。 f:id:ailen0ada:20160912005126p:plain

Info.plistMain InterfaceMainMenu に変更します。 f:id:ailen0ada:20160912005210p:plain

ビルドしておいたXamarin.Formsアセンブリと,Coreプロジェクトをを参照に追加し,AppDelegate内でForms.Initを呼び出します。他初期化をここで。

ここまでやればこの表示まではたどり着けるはず。 f:id:ailen0ada:20160912010447p:plain

DisplayAlertは未実装のため,MessagingCenterを使って各プラットフォームでアラートを表示するコードを追加するとこんな感じに。XAMLでButtonも追加してます。 f:id:ailen0ada:20160912010551p:plain

プロジェクトのフォルダ構成がいまいちになってますが,コードを公開してあります。

github.com