tmytのらくがき

個人の日記レベルです

Uno PlatformでmacOSアプリを作れるかな?

GitHubのissue*1を眺めていると、どうやらNuGetにXamarin Mac対応のバイナリが放流されているらしい?

NuGetのバイナリを手に入れて、展開してみると確かにxamarinmac20向けのバイナリが含まれているみたい。

$ unzip -l 2.0.512-dev.4178.nupkg | grep xamarinmac20
     4039  2019-11-27 03:05   build/xamarinmac20/uno.ui.targets
     4927  2019-11-27 03:11   build/xamarinmac20/Uno.UI.Tasks.targets
  6022624  2019-11-27 03:47   lib/xamarinmac20/Uno.dll
    84960  2019-11-27 03:47   lib/xamarinmac20/Uno.Foundation.dll
    24096  2019-11-27 03:18   lib/xamarinmac20/Uno.Foundation.pdb
   937116  2019-11-27 03:19   lib/xamarinmac20/Uno.pdb
  4546016  2019-11-27 03:47   lib/xamarinmac20/Uno.UI.dll
  1340020  2019-11-27 03:20   lib/xamarinmac20/Uno.UI.pdb
   196576  2019-11-27 03:47   lib/xamarinmac20/Uno.Xaml.dll
   712192  2019-11-27 03:18   lib/xamarinmac20/Uno.Xaml.pdb

macOSではまだHello Worldが動く程度らしいけど、一応ビルドはできるらしい。

ということはcsprojをいい感じに整えてあげれば好きなようにアプリがつくれる?気がしたのでとりあえずプロジェクトテンプレートにmacOSなプロジェクトを追加してみました。

github.com

これを使うとmacOS向けのプロジェクトがソリューションに増えます。

f:id:tmyt:20200130044454p:plain

これをmacでビルドするとiOSと似たような結果が得られて一安心。

f:id:tmyt:20200130044541p:plain

ただ、macOS向けのUno Platformは絶賛開発中なので2020年1月30日現時点で

  • TextBoxが未実装
  • Button, CheckBox, RadioButton は押しても反応しない
  • Selector系コントロールは例外が出る

という感じなのでパッチを書きつつ応援していきましょうね!