ホーム : 実験室

マックのプログラム実験室 by 品川地蔵

 マックでのプログラミングに関して、資料や、サンプルコード、実験的に作成したユティリティ等を公開していきます。また製品のテストバージョンなども公開します。
 ここのプログラムや資料は基本的にフリ-ですが、特に記述がない限り著作権を放棄しません。サンプルコード類は自由に改変していただいてご利用ください。
 サンプルコードはアップルのサイトにいくつもありますが、入門者用に適当なものがないなぁと感じていました。自分が勉強しながら作ったいくつかのコードの内、何とか使えそうなものを手直しして、少しでもとっかかりになればと公開します。基本的にMacOS X用のCarbonプログラムになります。今更入門者にCarbonなんて勧めるなと言われる向きもあるかとは思いますが、自分がCarbonしかやっていないものですから(^_^;
 cocoaを使わないと新しい機能が使えないという事態になりそうなので、勉強を始めました。入門者が作ったプログラムなので役に立つかどうか判りませんが、サンプルコードも公開していきます。

 下のリストの名称欄をクリックすることで各ページに飛びます。


1.試作・開発中プログラム(ソースコード無し)

<名称> <内容>
SDVr4 SimpleDEMViewer Ver.4の開発中バージョン。
土地利用ビューア 国土地理院の「数値地図5000(土地利用)」を表示する。
SimpleDEMViewerベースの試作品です。展望図等を組込んでいます。
行政界ビューア 国土地理院のXMLバージョン「数値地図25000(行政界・海岸線)」を表示する。
XV6 数値地図ビューアの機能テストバージョン。
ArcConv 地球地図のラインデータを数値地図ビューア用のユーザ経路データに変換します。データユティリティを経由してSimpleDEMViewerでも処理できます。
NarrowPicture 画像の上下の辺を曲線状に凹ますプログラム。パノラマ画像対応。

2.サンプルプロジェクト(ソースコードあり)

<名称> <内容>
BigPicture cocoaで画像の最大サイズを確認するためのテストプログラム。
TestScroller NSScrollerを使用して画像を無限に回転スクロールさせる。cocoa
AddrViewTest SimpleDEMViewerの「経緯度コントロール」と同じ物をcocoaで実装。
CocoaTableInCarbon 下のTableDragBindingの処理をcarbonプログラムから利用する。
TableDragBinding cocoaのNSTableView内でドラッグ&ドロップにより行を入れ替えるプログラム。NSArrayControllerを利用して実装。
JCodeCheck %付き16進文字列を元の認識可能な文字に戻すユティリティ。Carbon
Replace.main Carbonプログラムの基本となるソースコード。自動生成されるmain.cを置換えて使用する。
TestCG Quartz2Dを利用した描画、マルチ言語対応のサンプルプロジェクト。描画処理をCompositモデルに変更。Carbon
TestAGL AGL(OpenGL)を利用したサンプルプロジェクト。Carbon
TestWebKit CarbonプログラムからWebKitを利用。CarbonからCocoa APIを利用するサンプルプロジェクト。
testUPFocus ユーザペインコントロールにFull keyboard access対応のフォーカスリングを描くサンプルプロジェクト。Carbon
ColorPane カスタムHIViewのサンプルプロジェクト。上のtestUPFocusの発展形。Carbon
TestPicSize プログラム内で作成した大きな画像をウインドウに表示するサンプルプロジェクト。画像の最大サイズの確認。Carbon

Xcodeのバージョンについて

 Xcodeの操作性(特にInterfaceBuilder)が3.0以降とそれ以前とで大きく変わっています。Leopardに付属するのは3.0となっていますが、入門書などで説明しているのはまだほとんど旧版です。入門者が入門書を見ながら勉強する場合には大変不便なことになります。その場合はAppleのDeveloperサイトからXcode 2.5をダウンロードしてインストールします。2.5はそれ以前のバージョンとほぼ同じ操作性なので、ガイドブックの例題を忠実になぞることができるでしょう。
 Xcode2.5と3.0以降のバージョンは同時にインストールして使い分けることができます。ただしプロジェクトファイルをダブルクリックすると3.xが起動してしまうので、2.5を使いたいときは事前に2.5を起動しておくか、2.5のアプリケーションアイコンにプロジェクトファイルをドロップします。
 2.5より前のバージョンはLeopardにインストールできません。また3.xはLeopardでしか使えません。

 MacOS X 10.6 ( Snow Leopard ) 標準添付の Xcode 3.2 ではプロジェクトを新規に作成するときのテンプレートから carbon と Java が削除されてしまいました。それらを使いたいときはXcode 3.1.xをインストールする必要があります。上の2.5もそうですが、アップルのデベロッパーサイトからダウンロードできます。ダウンロードするにはデベロッパー登録が必要ですが、無料の契約でOKです。

 Xcode 4 ではまったく使い方が変わってしまいました。私はまだ3.2.6を使用しており、V4はLion上でデバッグしたいときに臨時で使うだけです。V4対応の参考書はまだ出ていないかな?
 (2011/08/23)

参考書

Xcode 3.x 対応の解説書がいくつか出てきていますが、全てcocoaですね。carbon対応の新しい解説書は出そうにありません。以下Xcode3.x対応の解説本。

Mac OS X Cocoa プログラミング 第3版 購入しました。良い本ですね。
XcodeによるObjective-C入門 プログラミングそのものが初めての人が対象の入門書です。
たのしいCocoaプログラミング[Leopard対応版]
Xcodeプログラミング大全 (MacPeople Books)
詳解 Objective-C 2.0
iPhone デベロッパーズ クックブック


外部リンク

MOSA (マックでの開発者を支援するNPO)
Apple Developer Connection ( アップルの開発者向けサイト。入口は日本語だけど )
同上日本語化ドキュメントリスト(わずかしかありません)
同上iOS版日本語化ドキュメントリスト
Macプロ裏ミング日記(MOSA会長小池邦人さんのページ)
CarbonDev Wiki ( 英語のサイトです )
cocoa始めの一歩 (Cの勉強をこれから始める人へ)
cocoaプログラミング小技集

(C)Copyright 2004-2011, Yoshiaki Katayanagi.