Apple Developers Tools

**Apple Developers Tools**はAppleによる統合開発環境。プログラミング言語としては、C言語やC++、Objective-C、Java、AppleScriptを用いてプログラムを開発する。プロジェクト（プログラムを構成するソースコードやマルチメディアファイルなど）の管理、ソースコードの記述、デバッグ、コンパイルを行う「Xcode」、GUIのデザインを行う「Interface Builder」（Xcodeの一部）、コンパイラやデバッガ、各種ユーティリティなどから構成され、かつてはMac App Storeから無償でダウンロードできた。現在ではApple Developersのwebサイトからダウンロードできる。

## 機能
Apple Developers Tools の機能は以下の通り。

### Applet Launcher
SunのJavaプラグインのグラフィカルインターフェイス。macOSにおけるJavaアプレットの動作を開発者に示すもの。開発中のアプレットのパフォーマンス、動作、ユーザーエクスペリエンスを調整するためのツールを提供する。

### Audio Unit Lab
AU Labはデジタルオーディオミキシングアプリケーション。オーディオユニットのテスト、ライブミキシング、オーディオコンテンツの再生に使用する。グラフィックインターフェイスとタッチスクリーンで視覚的に制御される。

### FileMerge
FileMergeは、NeXTSTEPの時代からのmacOSの開発者ツールの定番であり、ファイルの2つ以上のバージョンをグラフィカルに比較する。その名の通り、FileMergeを使用すると、ユーザーは2つ以上のバージョンを1つのファイルに簡単にマージできる。このユーティリティは、ソースコードの変更の追跡によく使用される。

macOSの`opendiff`コマンドは、コマンドラインからFileMergeを起動する機能を提供する。`-ancestor`パラメータは、3ウェイマージを行う際に使用する。

### Help Indexer
macOSの組み込みヘルプビューアのインデックスファイルを作成する。

### icns Browser
.icnsファイルのリソースを表示する。ミニ、スモール、ラージ、ヒュージ、サムネイル、タイルのサイズと、すべての色深度とマスクに対応。

### Interface Builder

Interface Builderとは、GUIをデザインするためのソフトウェアまたは同等の機能を持つソフトウェア機能の一つ。macOS のAquaが備えるGUI部品をサポートしており、簡単にAquaを用いた美しいインタフェースを構築できるだけでなく、アップルによるデザインガイドライン「Aqua Human Interface Guidelines」に従ったレイアウトが容易に行えるようになっている。部品の中にはウィンドウに配置するだけで機能するものもあり、開発の手間を軽減してくれる。またパレットファイルを作成する事でユーザーが機能を追加する事もできる。

### Icon Composer
Icon Composerは、Apple Icon ImageファイルとWindows ICOファイルを作成する以外の編集機能を持たないアイコンエディター。他のエディターであらかじめすべての画像編集を行った後、コンバータでインポートすることで、アイコンを完成させられる。Icon Composerは高解像度のアイコンを作成できないため、Xcode 8.2以降は追加ツールでは使用できなくなった。アップルは、macOSに同梱されているコマンドラインユーティリティであるiconutilの使用を推奨しているhttp://apple.stackexchange.com/questions/59561/where-did-icon-composer-go-from-xcode#comment89893_59613。

### Instruments
Instrumentsは、SunのOpenSolarisのトレースフレームワークDTraceのGUIである。使用時間量、メモリ割り当て、システムアクティビティ、コールトレース分析、GPUパフォーマンス分析、エネルギーロギング（iOSデバイス上）などをプロファイルするために使用される。

### Jar Bundler
アプリケーションのコンポーネントファイルを、単一のダブルクリック可能なアプリケーションにパッケージ化するJavaツール。コードを最適化するようオプションを変更することもできる。

### MallocDebug
プログラムのメモリ使用量を評価し、メモリリークを検出するためのツール。

ユーザーがアプリケーションと対話するときにユーザーを監視することにより、アプリケーションのメモリ使用量を評価します。これにより、MallocDebugは、残念ながらサイズが制限されているメモリプロファイルを構築できます。

### PackageMaker
アプリケーション`.pkg`インストーラを作成するためのツール。

### Pixie
コンピュータの画面を、マウスカーソルを中心に拡大するための拡大鏡アプリケーション。マウスの座標をピクセル単位で表示する。いくつかの解像度を指定することができる。マウスの下の画像を「ロック」してより詳細を確認したり、拡大された画像を保存したりすることができる。Pixieは視覚要素が正確に位置合わせされていることを確認するときに役立つ。

### Spin Control
Spin Controlは、ソフトウェアプログラムのハングを監視するパフォーマンスツール。このプログラムの名前は、macOSのスピニングピンホイールに由来している。

Xcode 4.2で廃止された。

### Thread Viewer
Thread Viewerは、さまざまなスレッドにわたるアクティビティをグラフィカルに表示するパフォーマンスツール。スレッドアクティビティの色分けされたタイムラインビューを提供し、特定の時点でのアクティビティのバックトレースを表示できる。これはInstrumentsアプリに統合され、「SystemTrace」からアクセスできる。

### Xcode

Xcodeはいわゆる統合開発環境であり、Microsoft Visual StudioやオープンソースのEclipseなどに相当する。AppleのiLifeアプリケーションに近い整理大系を持つことが特徴的である。CVS、デバッガ、エディタなどが統合されているほか、予測コンパイルや実行時リンクなどテストを円滑に行う機能が充実している。次項Interface Builderとはシステム上分離しているが、密接に連携する。バージョン2.0以降では、UML型のモデリングシステムが搭載されている。

### コンパイラ・ビルド環境
コンパイラには GCCやjavac、Jikesが用いられ、ユーザからのコンパイル要求がXcodeを通して伝えられる。Xcodeでソースコードを編集し終えるとすぐにコンパイルを行うことで、ターンアラウンド（テストの中断、修正、ビルド、再テストの過程）に要する時間の短縮を図っている。
また、distccとBonjourの連携によって複数のmacOSマシンで分散ビルドを行うことができ、ビルドに要する時間が短縮される。

### その他
* ソースコードの入力補助
* AppleScriptによる制御に対応
* CodeWarriorプロジェクトの移行に対応
* 64ビットCPU PowerPC G5への最適化に対応

## 関連項目
* Apple
* macOS
* macOS Server
*iOS
*iPadOS
*tvOS
*watchOS

## 脚注

## 外部リンク
* Apple Developer Connection（英語）