「Xamarin.Mac」の版間の差分
(→ライセンス) |
(→使い方) |
||
57行目: | 57行目: | ||
==使い方== | ==使い方== | ||
− | |||
*[[Xamarin.Mac/Classic APIプロジェクトでXamMac.dllが行方不明]] | *[[Xamarin.Mac/Classic APIプロジェクトでXamMac.dllが行方不明]] | ||
+ | *[[Xamarin.Mac/カスタムコントロールを使用する]] | ||
+ | *[[Xamarin.Mac/NuGetパッケージを作る]] | ||
*[[Xamarin.Mac/Retina Displayか判別する]] | *[[Xamarin.Mac/Retina Displayか判別する]] | ||
+ | *[[Xamarin.Mac/NSOpenGLViewを使う]] | ||
+ | *[[Xamarin.Mac/ディスプレイの設定変更を検出する]] | ||
+ | *[[Xamarin.Mac/NSTableViewでNSTableViewSourceを使う]] | ||
+ | *[[Xamarin.Mac/システムステータスバーにアイコンを表示する]] | ||
+ | *[[Xamarin.Mac/Dockアイコンを非表示にする]] | ||
== 関連項目 == | == 関連項目 == |
2015年5月21日 (木) 05:11時点における版
Xamarin.Mac(読み:ざまりん・まっく)とは、MonoMacの商用ライセンス版である。
目次
概要
MonoMacは無料で使えるかわりに作ったものは必ずオープンソースにしなければならない。 ソースコードを非公開にしたい人はXamarin.Macという商用ライセンスを買いましょう。 そこまでしたいのは主にビジネスソフト業界の人だろうからお金は持ってるよね。 という話である。
プログラミング絡みの共通的な項目の詳細は「MonoMac」の項目を参照。
MonoMacとの差異
- ソースコードの開示が不要でLGPLが強制されない。
- ランタイムの同梱が可能
Monoの商用ライセンスが含まれるため。動作時にMonoランタイムのインストールが不要。
- UnifiedAPIサポート
Xamarin.iOS とコード共有を可能にするほか,OSの64ビットAPIをコール可能に。
Classic API と Unified API
基本的にはClassic APIは32ビット、Unified APIは64ビットと覚えておけば間違いない。
ただし、Classic APIはMonoおよび.NET Frameworkの昔ながらのライブラリプロジェクトが利用できるのに対して、Unified APIではPCLまたはXamarin.Mac Library プロジェクトしか利用できない。この関係でUnified APIではNuGetもほぼ使えない。つまりWinRTに近い存在であり、かなり尖っている。
Xamarin.iOSではアップルの思し召しにより2015年2月よりUnified API (64ビット) が強制となっているが、Xamarin.MacについてはIT土方の特性を考えればClassic APIに落ち着くのが無難であると思われる。
動作するコード
Xamarin.iOS とは異なり,JITコンパイラが動作するため特に制限のある機能はない。 すなわちGenerics, LINQ, Reflection.Emit といった機能をフルに使用しても影響はない。
ライセンス
Indie
- 個人向け。
- サポートはフォーラムで。
- Portable Class LibraryおよびXamarin.Macライブラリしか扱えない。よってNuGetはほぼ使えない。
- 自前でNuGetパッケージを作り直して、自前でNuGetサーバーを立てるのが得策だと思われる。
- 「Xamarin.Mac/NuGetパッケージを作る」も参照。
Business
- 企業に属する開発者はこちら。
- サポートがメールで提供される。
- Xamarin.Mac 2.0から.NET Framework 4.5系のライブラリが扱えるようになった。
- System.Data.SqlClientが使用可能。
Enterprise
- Businessに加え,問い合わせに対し1営業日以内の回答保証,ホットフィックスの提供が行われる。
その他
他プラットフォームとは異なり,Business以上を購入してもVisualStudioで開発ができるようにはならない。
1ライセンスにつきアクティベーションできるマシンは2台までである。 2015年5月時点ではリモートデバッグ的な機能もないので開発機でデバッグすることになる。 よって様々なバージョンのMac OS Xで動作検証するには1ライセンスでは厳しい。
インストール
Xamarin.Macは他のXamarin.iOSやXamarin.Androidとは異なりXamarin Studioのインストール時に自動的にはインストールはされない。
Xamarinの公式サイトの会員ページにログインし、そこからインストーラーをダウンロードして入れる必要がある。
他と同様にアカウントにログインするだけで自動的に使えるようになると思っていたから凄く悩んだよ。
使い方
- Xamarin.Mac/Classic APIプロジェクトでXamMac.dllが行方不明
- Xamarin.Mac/カスタムコントロールを使用する
- Xamarin.Mac/NuGetパッケージを作る
- Xamarin.Mac/Retina Displayか判別する
- Xamarin.Mac/NSOpenGLViewを使う
- Xamarin.Mac/ディスプレイの設定変更を検出する
- Xamarin.Mac/NSTableViewでNSTableViewSourceを使う
- Xamarin.Mac/システムステータスバーにアイコンを表示する
- Xamarin.Mac/Dockアイコンを非表示にする