「MonoMac」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
16行目: 16行目:
  
 
[[C Sharp|C#]]の[[ソースコード]]から[[Objective-C]]の[[ソースコード]]に変換するという荒技は、かつて[[アドビ]]と[[アップル]]による[[Flash]]によるiPhoneアプリ開発をめぐる紛争の末に制定された[[App Store]]の[[サードパーティ]]締め出し利用規約を強引に回避するために編み出した必殺技である。
 
[[C Sharp|C#]]の[[ソースコード]]から[[Objective-C]]の[[ソースコード]]に変換するという荒技は、かつて[[アドビ]]と[[アップル]]による[[Flash]]によるiPhoneアプリ開発をめぐる紛争の末に制定された[[App Store]]の[[サードパーティ]]締め出し利用規約を強引に回避するために編み出した必殺技である。
 +
<ref>[http://www.atmarkit.co.jp/news/200901/29/mono.html iPhoneでC#アプリが審査に通るワケ - @IT]</ref>
  
 
== 必要なもの ==
 
== 必要なもの ==

2012年12月18日 (火) 16:29時点における版

MonoMac(ものまっく)とは、MonoおよびMonoDevelopを用いてC#でMac OS X用の「ネイティブアプリケーション」の開発を可能にする統合プログラミング環境のことである。

概要

MonoMacは、iOS向けのMonoTouchの技術をそのままMac OS Xに持ってきたものである。有償版のみのMonoTouchとは異なり、MonoMacは完全に無償で提供されている。ただしMonoMacはライセンスにGPLおよびLGPLが用いられているため、そのままでは商用利用できないという人のために商用ライセンスのXamarin.Macという有償版も提供されている。

2011年3月17日、MonoMac 1.0が公開された。今後、F#IronRubyIronPythonUnityScriptといったプログラミング言語のサポートを進めていくと説明されている。

UI部分のデザインにはInterface Builderとの連携に対応しているため、従来のXcodeを用いたMac OS Xアプリケーション開発と基本的に同様である。ただしMonoDevelop経由でxibファイルを開きInterface Builderを起動すると、xibファイルが監視された状態となり、UIを編集し保存した瞬間にまるでVisual StudioWindows Formsをデザイン編集したときのように全自動で部分クラスが生成されるなど、その連携具合は手動でアウトレットを書かなければならないXcodeより何故か遙かに優れている。

なお、2012年3月19日時点では、MonoDevelopでの日本語表示に一手間必要であり、また日本語入力は一切できない。アプリ中に出現する文字列は、多言語対応のためにもソースコードに直接日本語を埋め込まず、リソースで管理しましょうという思し召しに違いない。

ネイティブコード

Monoと言えば.NET Framework互換のオープンソースプロジェクト、その.NET Frameworkと言えば中間コード仮想マシンをまず思い浮かべるだろうが、MonoMacが吐き出すのは生粋のネイティブコードである。

MonoMacではC#で書いたソースコードを、ほぼ人間の読めないObjective-Cソースコードに変換し(いわゆるトランスコード)、それをXcodeビルドする。なお、この一連の動作はMonoDevelopバックグラウンドで行うので開発者は気にする必要がない。また、このネイティブコード寄りな仕様の関係上、リフレクションなどの.NET Framework特有の一部機能は使えなくなっている。

C#ソースコードからObjective-Cソースコードに変換するという荒技は、かつてアドビアップルによるFlashによるiPhoneアプリ開発をめぐる紛争の末に制定されたApp Storeサードパーティ締め出し利用規約を強引に回避するために編み出した必殺技である。 [1]

必要なもの

MonoMacはMac上でMonoDevelopを動かした場合のみプロジェクトの新規作成に出現するようになっている。

インストール

Xcodeをインストールする

MonoMacは裏でgccやIBを利用するためXcodeが必須です。 Xcodeは巨大なので気長にダウンロードしてください。

Mac OS X 10.6 (Snow Leopard)ではXcode 3.xまでしか対応していないのでXcode 3.x系の最終バージョンであるXcode 3.2.6をアップルのサイトからダウンロードし、インストールする[2]。旧バージョンの入手にはアップル公式サイト上にて無料のデベロッパー登録が必要です。

Mac OS X 10.7 (Lion) 以降はXcode 4.xをMac App Storeから検索してインストールするのが手っ取り早い[3]

Monoをインストールする

Mono公式サイトより最新バージョンをダウンロードしてください。 インストールはインストーラーの指示に従うだけです。

日本語表示設定を行う

ターミナル(アプリケーション→ユーティリティー)を起動し以下のファイルを作成する。 これをやらないと日本語が文字化けします。

なお、このファイルはMonoのランタイム(MRE)をバージョンアップするたびに消されやがるので、その都度作成すること。MonoDevelopの起動時に「バージョンアップしますか?」と表示されたら要注意。忘れずに再作成しましょう。

$ sudo su
$ echo '"Lucida Grande" = "Hiragino Kaku Gothic Pro"' > /Library/Frameworks/Mono.framework/Versions/Current/etc/pango/pango.aliases

MonoDevelopをインストールする

MonoDevelop公式サイトより最新バージョンをダウンロードしてください。 インストールはインストーラーの指示に従うだけです。

Xcodeのインストール先が標準以外の場合は、MonoDevelopを起動した後、メニューのPreferencesから設定画面を開き、「その他」にある「SDK Locations」の「Apple SDK」にXcodeのインストール先を設定する。チェックマークが赤バツから緑レ点になればパス指定は正しい。

プロジェクトを作ってみる

「ファイル」「新規作成」「ソリューション」「C#」「MonoMac」「MonoMac Project」「進む」

使い方

関連項目

参考文献

外部リンク