メインメニューを開く

「MonoMac」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
'''MonoMac'''(読み:ものまっく)とは、[[Xamarin Studio]]([[Mono]]および[[MonoDevelop]])を用いて[[C Sharp|C#]]で[[Mac OS X]]用の「ネイティブアプリケーション」の開発を可能にする[[統合プログラミング環境]]のことである。
+
'''MonoMac'''(読み:ものまっく)とは、[[Mono]]および[[MonoDevelop]]を用いて[[C Sharp|C#]]で[[Mac OS X]]用の「ネイティブアプリケーション」の開発を可能にする統合プログラミング環境のことである。
  
 
== 概要 ==
 
== 概要 ==
MonoMacは[[iOS]]向けの[[MonoTouch]]の技術をそのまま[[Mac OS X]]に持ってきたものであるといえる。
+
MonoMacは、[[iOS]]向けの[[MonoTouch]]の技術をそのまま[[Mac OS X]]に持ってきたものである。
  
 
2011年3月17日、MonoMac 1.0が公開された。今後、[[F Sharp|F#]]、[[IronRuby]]、[[IronPython]]、[[UnityScript]]といった[[プログラミング言語]]のサポートを進めていくと説明されている。
 
2011年3月17日、MonoMac 1.0が公開された。今後、[[F Sharp|F#]]、[[IronRuby]]、[[IronPython]]、[[UnityScript]]といった[[プログラミング言語]]のサポートを進めていくと説明されている。
  
=== ライセンス ===
+
=== ライセンス ==
 
有償版のみの[[MonoTouch]]とは異なりMonoMacは完全に無償で提供されている。
 
有償版のみの[[MonoTouch]]とは異なりMonoMacは完全に無償で提供されている。
 
ただしMonoMacは[[ライセンス]]に[[GPL]]および[[LGPL]]が用いられており、開発した[[プログラム]]を配布する場合は必ず[[オープンソース]]にしなければならないという条件がついている。
 
ただしMonoMacは[[ライセンス]]に[[GPL]]および[[LGPL]]が用いられており、開発した[[プログラム]]を配布する場合は必ず[[オープンソース]]にしなければならないという条件がついている。
  
そのままでは商用利用できない、[[ソースコード]]は公開したくない、という人のために[[オープンソース]]化しなくてもよいという[[Xamarin.Mac]]という有償版も提供されている。
+
そのままでは商用利用できない、[[ソースコード]]は公開したくない、という人のために商用ライセンスの[[Xamarin.Mac]]という有償版も提供されている。
いわゆる資金源である。
+
資金源である。
  
 
=== Xcode連携 ===
 
=== Xcode連携 ===
 
[[UI]]部分の[[デザイン]]には[[Interface Builder]]との連携に対応しているため従来の[[Xcode]]を用いた[[Mac OS X]]アプリケーション開発と基本的に同様である。
 
[[UI]]部分の[[デザイン]]には[[Interface Builder]]との連携に対応しているため従来の[[Xcode]]を用いた[[Mac OS X]]アプリケーション開発と基本的に同様である。
ただし[[MonoDevelop]]経由で[[xibファイル]]を開き[[Interface Builder]]を起動すると、xibファイルが監視された状態となり、[[UI]]を編集し保存した瞬間にまるで[[Visual Studio]]で[[Windows Forms]]をデザイン編集したときのように全自動で[[部分クラス]]が生成されるなど、その連携具合は手動で[[アウトレット]]を書かなければならない[[Xcode]]より遙かに優れている。
+
ただし[[MonoDevelop]]経由で[[xibファイル]]を開き[[Interface Builder]]を起動すると、xibファイルが監視された状態となり、[[UI]]を編集し保存した瞬間にまるで[[Visual Studio]]で[[Windows Forms]]をデザイン編集したときのように全自動で[[部分クラス]]が生成されるなど、その連携具合は手動で[[アウトレット]]を書かなければならない[[Xcode]]より何故か遙かに優れている。
  
 
=== 日本語周り ===
 
=== 日本語周り ===
30行目: 30行目:
 
<ref>[http://www.atmarkit.co.jp/news/200901/29/mono.html iPhoneでC#アプリが審査に通るワケ - @IT]</ref>
 
<ref>[http://www.atmarkit.co.jp/news/200901/29/mono.html iPhoneでC#アプリが審査に通るワケ - @IT]</ref>
  
==利点==
+
== 必要なもの ==
===ガベージコレクションが強い===
+
* Mac本体
[[Objective-C]][[Swift]]も[[ガベージコレクション]]が腐っており実質的には存在しないと思った方がいいレベルの中で唯一まともそうなのが[[MonoMac]]であった。ほとんどのアプリは[[Objective-C]]の[[ガベージコレクション]]でも問題ないが、[[ウェブカメラ]]の[[動画]]を表示や録画、編集などを行うような高負荷かつ[[メモリ]]を喰いまくる[[アプリ]]では特に顕著であった。[[アップル]]のサイトで配布している[[QTKit]]による[[ウェブカメラ]]を制御するサンプルも、実は動きの速い[[動画]]を撮影し続けると[[メモリリーク]]して最終的に[[クラッシュ]]するという<ref>https://developer.apple.com/library/mac/samplecode/QTRecorder/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004043</ref>。
+
* Mac OS X 10.6以上
 +
* Xcode 3以上
 +
* [[Mono]]
 +
* [[MonoDevelop]]
  
==欠点==
+
MonoMacは[[Mac]]上で[[MonoDevelop]]を動かした場合のみプロジェクトの新規作成に出現するようになっている。
===APIが欠落している===
+
 
[[Xamarin.Mac]]が登場して以来、[[API]]の更新が止まっており、[[日曜プログラマー]]には世知辛い雰囲気が漂っている。たとえば[[OS X Mavericks]][[QTKit]]が廃止され[[AV Foundation]]に移行したがMonoMacでは残念なことになっている。せめて2つ3つくらい前の古いバージョンはMonoMacとして公開してくれたりしないかな。
+
== インストール ==
 +
 
 +
=== Xcodeをインストールする ===
 +
MonoMacは裏でgccやIBを利用するためXcodeが必須です。
 +
Xcodeは巨大なので気長にダウンロードしてください。
 +
 
 +
Mac OS X 10.6 (Snow Leopard)ではXcode 3.xまでしか対応していないのでXcode 3.x系の最終バージョンであるXcode 3.2.6をアップルのサイトからダウンロードし、インストールする<ref>https://developer.apple.com/downloads/index.action</ref>。旧バージョンの入手にはアップル公式サイト上にて無料のデベロッパー登録が必要です。
 +
 
 +
Mac OS X 10.7 (Lion) 以降はXcode 4.xをMac App Storeから検索してインストールするのが手っ取り早い<ref>http://itunes.apple.com/jp/app/xcode/id497799835?mt=12</ref>。
 +
 
 +
=== [[Mono]]をインストールする ===
 +
Mono公式サイトより最新バージョンをダウンロードしてください。
 +
インストールはインストーラーの指示に従うだけです。
 +
 
 +
=== 日本語表示設定を行う ===
 +
ターミナル(アプリケーション→ユーティリティー)を起動し以下のファイルを作成する。
 +
これをやらないと日本語が文字化けします。
 +
 
 +
なお、このファイルは[[Mono]]のランタイム([[MRE]])をバージョンアップするたびに消されやがるので、その都度作成すること。[[MonoDevelop]]の起動時に「バージョンアップしますか?」と表示されたら要注意。忘れずに再作成しましょう。
 +
 
 +
<source lang="bash">
 +
$ sudo su
 +
$ echo '"Lucida Grande" = "Hiragino Kaku Gothic Pro"' > /Library/Frameworks/Mono.framework/Versions/Current/etc/pango/pango.aliases
 +
</source>
 +
=== [[MonoDevelop]]をインストールする ===
 +
MonoDevelop公式サイトより最新バージョンを[[ダウンロード]]してください。
 +
インストールはインストーラーの指示に従うだけです。
 +
 
 +
Xcodeのインストール先が標準以外の場合は、MonoDevelopを起動した後、メニューのPreferencesから設定画面を開き、「その他」にある「SDK Locations」の「Apple SDK」にXcodeのインストール先を設定する。チェックマークが赤バツから緑レ点になればパス指定は正しい。
 +
=== プロジェクトを作ってみる ===
 +
「ファイル」「新規作成」「ソリューション」「C#」「MonoMac」「MonoMac Project」「進む」
  
 
== 使い方 ==
 
== 使い方 ==
*[[MonoMac/インストール]]
+
* [[MonoMac/ウインドウを閉じた際にアプリを終了させる]]
*[[MonoMac/ウインドウを閉じた際にアプリを終了させる]]
 
*[[MonoMac/フルスクリーン表示に対応する]]
 
*[[MonoMac/Interface Builderでカスタムコントロールを使用する]]
 
*[[MonoMac/NSImageをファイルに保存する]]
 
*[[MonoMac/NSImageをSystem.Drawing.Imageに変換する]]
 
*[[MonoMac/Resource Bundleを利用する]]
 
*[[MonoMac/ウインドウが閉じる際に処理をする]]
 
*[[MonoMac/モーダルウインドウを作成する]]
 
*[[MonoMac/AppleScriptを実行する‎]]
 
*[[MonoMac/リムーバブルメディアの着脱を検知する‎]]
 
*[[MonoMac/外部コマンドを実行する]]
 
 
 
この他にも「[[:Category:MonoMac]]」に色々あるかもしれない。
 
  
 
== 関連項目 ==
 
== 関連項目 ==
66行目: 86行目:
  
 
{{stub}}
 
{{stub}}
 
[[category:MonoMac]]
 

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: