Source Editor
プロフェッショナルなエディタで、高度なコード補完機能、コードの折りたたみ表示、構文の強調表示、警 告、エラー、コンテキストに応じた情報をコード内に表示するメッセージの吹き出し機能を搭載しています。
Assistant Editor
「Assistant(アシスタント)」ボタンをクリックすると、エディタが2画面に分割されて2番目のペイン が開き、現在編集しているコードに基づき最も役立つと判断されたファイルが自動的に表示されます。このペ インには、対応するヘッダー、スーパークラス、呼び出し元、呼び出し先などの有用なファイルを表示できま す。
Version Editor
XcodeのVersion Editorには、コミットする実行タイムラインが表示されるため、問題箇所の特定や、 視覚的に時間の流れをさかのぼってソースファイルを比較することが簡単になっています。また、
ビルトインのInterface Builder
コードを1行も記述することなくインターフェイスを設計およびテストし、数分でプロトタイプを作成して 、インターフェイスとXcodeのエディタ上のソースとを視覚的に関連付けられます。
Simulator
iOS SDKにより、XcodeでCocoa Touch AppをMacベースのiOS Simulatorでビルド、インストール 、実行、デバッグできるため、流れるような開発ワークフローが実現します。
Integrated Build System
マルチコアCPUを搭載したMacのパワーを最大限に引き出せる拡張性を持ち、複雑なビルドにも対応します 。iPadやiPhone Appの署名、プロビジョニング、デバイスへのインストールも自動的に行えます。
コンパイラ
Xcodeには、C、C++、Objective-Cに対応した強力なオープンソースのLLVMコンパイラが組み込まれて おり、ターミナルから利用できます。このコンパイラではコードをすばやくコンパイルでき、iPhone、
Graphical Debugger
Xcodeエディタ内でAppを直接デバッグできます。任意の変数にマウスポインタを合わせてコンテンツの詳 細を確認できるほか、クイックルック機能を使用して含まれるデータを表示し、変数をウォッチリストに追加 することができます。
継続的インテグレーション
macOS Serverの機能であるXcode Serverでは、Xcodeプロジェクトのビルド、分析、テスト、さらに アーカイブを継続的に行うサーバ側のBotを管理します。Xcode IDEでは、これらのBotを設定し、最新のソ ースコードで生成されたビルドとテストの結果を分析することによって、ビルドを失敗させたチェックインを特定できます。
アセットカタログ
Xcodeのアセットカタログエディタでは、Appの画像を管理し、同じアセットの多様な解像度をグループ化 できます。Xcodeでは、ビルド時にアセットカタログを最も効率的なバンドルにコンパイルし、最終的な配信 ファイルを作成できます。
Open Quickly
「Cmd + Shift + O」キーを押すだけで、プライマリエディタのワークスペース内に任意のファイルを すばやく開くことができます。また、「Option」キーを押しながらファイルを選択すると、Assistantエデ ィタで開くことができます。Open Quicklyは、キーボードを多用するワークフローにかかせないツールです。
OpenGLのフレーム取り込み
1つのボタンを押すだけで、iOSデバイスから現在のOpenGLフレームの内容をすべて取り込むことができ ます。Xcodeにはシェーダーの情報が表示され、Xcodeデバッガ内でフレームがアセンブルされた方法を視覚 的に構築できます。
詳細なドキュメンテーション
Xcode内で検索すると、Mac上またはApple Developer Webサイト上のいずれの内容も、文書ビューア(documentation viewer)で表示することができます。 p>
Live Issue
ワードプロセッサでスペルミスがハイライト(強調表示)されるように、Live Issueでは、「ビルド」を実行することなく、一般的なコードミスがハイライトされます。
Fix-it機能
Xcodeはただエラーをレポートするだけではありません。コードにミスがあると即座にXcodeから警告が 出力され、キーボードのショートカットを1回打つだけで瞬時に修復(
クイックヘルプ
プログラミング作業中は、コードに追加したコメントを含め、簡単なAPIの説明が表示されます。また、コ ードの補完時には簡単な概要が表示され、ユーティリティ領域にはリンクや参照情報が表示されます。
XCTest Framework
XCTest APIを使用すると、Mac、iPad、iPhone、またはSimulatorで実行可能なAppの機能のユニッ トテストを簡単にビルドできます。
Static Analysis
標準装備のスタティックアナライザでは、数秒間のうちに何千ものコードパスをチェックでき、Appを実行 する前にバグを検出することさえ可能になっているため、発見が困難なバグや再現がほぼ不可能な潜在的なバグも発見できます。
SwiftUI
宣言型シンタックス
ユーザーインターフェイスが実行すべきことを明確に記述するSwiftの宣言型シンタックスで、よりシンプルなコードを記述できます。
デザインツール
インターフェイスの作成と編集をドラッグ&ドロップで実行できます。ポップアップ式のインスペクタで、UIの視覚的要素を迅速に変更できます。
すべてのAppleプラットフォームでネイティブに
Appは驚くべきネイティブパフォーマンスを得て、さらにAppleプラットフォームの素晴らしいテクノロジー、コントロール、ユーザー体験を活用することにより、完全に統合された感覚を実現できます。
ライブモード
デザインの変更を、1つまたは複数の正確なプレビューで速やかに確認できます。デザインキャンバスをライブモードに切り替えれば、Xcodeまたは接続しているデバイスで実行中のAppに速やかに対応することができます。
Instruments
データの記録
Instrumentsで、分析するAppと対象とするデータを指定して大きな赤いボタンをクリックすると、データが収集され、その後の分析用として記録されます。
視覚的な比較
データは時間経過に沿って記録および表示されるため、タイプの異なる収集済みデータの差異、または同じテストを複数回実施して収集したデータの差異など、その関係性を簡単に調べることができます。
詳細分析
グラフ上のデータが急激に変化している箇所に注目し、その時にどのコードが実行されているか調べ、すぐにXcodeに移って問題を解決することができます。
Instrument Library
CPU、ネットワーク、ファイルに関する低レベルの処理などから、グラフィックスやユーザーイベントに関する高レベルな処理まで、さまざまな処理に対応する測定機能がバンドルされているライブラリ。
Zombie Detection
利用できなくなったメモリ領域にアクセスするなど、見つけにくいAppのエラーやクラッシュをInstrumentsで把握することができます。
Source View
データポイントを検証して整理することにより、CPUの処理能力を最も占有しているメソッドを特定できます。InstrumentsのUI内では、コードを直接確認しながら問題点を絞り込むことができます。
オーバーヘッドの少ないサンプリング
キーを押すだけでパフォーマンスデータをサンプリングでき、少ないオーバーヘッドで精度の高い情報が得られます。
Instrumentsのカスタマイズ
DTraceとInstrumentsカスタムビルダーを使用することにより、Instrumentsを独自にカスタマイズできます。
System Trace
Instrumentsでは、わずかなリソースを使用してシステム上のすべてのプロセスに関する情報が記録されます。これにより、プロセスが相互処理する際に発生するパフォーマンスのボトルネックが明確になります。
macOSが備えるその他のツール
コマンドラインツール
macOS SDK、ヘッダー、またApple LLVMコンパイラやMakeなどのビルドツールをダウンロードして入手することができます。これらのツールを使用すると、オープンソースソフトウェアのインストールや、ターミナルを使ったUNIX開発が容易になります。macOSでは、最初にソフトウェアをビルドする際にこれらのツールを自動でダウンロードでき、ダウンロードページからも入手できます。
スクリプト言語
macOSにはAppleScript、Perl、Python、Rubyがあらかじめインストールされています。macOSはUNIXベースでビルドされているため、XcodeやmacOSに搭載されている開発用コマンドラインツールを使用して、広く普及しているオープンソース言語の独自のバージョンを簡単に構築できます。
Apple Event Bridge
AppleScriptとAutomatorでは、ベースとなるApple Eventエンジンの機能を活用し、macOSのタスクを簡単に自動化することができます。このブリッジ的な機能により、AppleScriptと同じメッセージングアーキテクチャを使用して、Objective-C、Ruby、Pythonなどの追加言語からAppに対して命令とクエリを実行できるようになります。
Audio Tools
AU Labツールでは、オーディオストリームのミキシングや処理を行うことができます。
Terminal 2
Terminal 2ではUNIXシェルにアクセスすることができ、タブ表示、カラー表示、Unicodeにも対応しています。
ソースの制御:GitとSubversion
Xcode IDEは、IDE内で直接的にこの両方のSCMシステムに対応しており、コマンドラインからも使用できます。
UNIXツール
make、awk、sed、ssh、tar、zipなど、最も広く普及しているコマンドラインツールのすべてが用意されています。
エディタ
macOSのエディタにはTextEdit、xed(Xcodeのエディタ)に加え、vimとemacsも含まれています。
FileMerge
任意のテキスト文書を比較、差分抽出、統合できます。