Xcode

優れたアプリケーションを作成するための完全なツールセット。

Xcode 6 の新機能

Xcode 6 には、ソフトウェアを設計および開発するためのまったく新しい方法が導入されています。Swift は、Cocoa および Cocoa Touch 向けの革新的な新プログラミング言語です。Xcode ツールと組み合わせれば、プログラミング作業がとても快適になります。この優れた開発環境は、Xcode 6 全体にわたって共通して利用できます。Interface Builder のライブレンダリングでは、デベロッパが記述した UI コードがデザインキャンバス内に表示され、コードに対する変更はリアルタイムに反映されます。新しいビューデバッガではすべての UI レイヤが 3D で表示されるため、デベロッパはインターフェイスの構造を簡単に把握でき、重複したビューやクリッピングしたビューも判別しやすくなります。

動画「Xcode 6 の新機能」を再生

Swift

Xcode 6 は、広範囲にわたって Swift に対応しています。Swift コードだけを 100% 使用して新しいアプリケーションを開発することも、既存のアプリケーションに新しい Swift のコードやフレームワークを追加することも、Swift や Objective-C、またはその両方でドキュメントを表示することも簡単です。頻繁に使用する「Jump to Definition」や「Open Quickly」などのアフォーダンスは Swift でも同様に機能します。また、Objective-C のヘッダ定義も Swift のシンタックスで表示できます。

Swift のプログラミング言語について詳しく

Playground

Swift では高度に最適化されたネイティブコードにコンパイルされますが、Playground ではスクリプト言語をインタラクティブに利用でき、コードを 1 行記述するとすぐに結果に反映されます。コードをループで実行する場合は、コード行をタイムラインアシスタントエディタに追加すれば、その進行を確認できます。また、変数のグラフ表示、ビューの描写に併せたステップ単位の検査、SpriteKit シーンの動作確認も実行できます。Playground でコードが完成したら、あとはそのコードをプロジェクトに移動するだけです。Playground のドキュメントには Playground で開くことができるチュートリアルが用意されており、実験のための対話型ワークシートとして利用できます。

 
コマンドライン

Xcode のデバッガには、REPL (Read-Eval-Print-Loop) と呼ばれる、Swift 言語の対話型バージョンが搭載されています。Swift のシンタックスを使用して実行中のアプリケーションを評価することや、アプリケーションを操作することができます。また、スクリプト形式の環境で新しいコードを記述することも可能です。REPL は Xcode コンソールの LLDB 内から、またはターミナルから使用できます。

ライブレンダリング

Interface Builder では、アプリケーション実行時と同じ表示形態で、設計時にカスタムオブジェクトを表示できるようになりました。カスタムビューのコードを更新すると、Interface Builder のデザインキャンバスの表示内容が自動的に更新されるため、ビルドして実行する必要はありません。API によって IB インスペクタにプロパティを追加できるため、設計時の変更をビューに即座に反映させることができ、ビューにサンプルデータをあらかじめ入力しておけば、インターフェイスの状態をより正確に把握することもできます。

iOS の Storyboard は UIKit サイズのクラスに対応しているため、あらゆる iOS デバイスで正しく動作する 1 つの共通 Storyboard を作成できます。インターフェイスの大部分に一貫性を持たせて操作性を維持したまま、デバイスのサイズと向きに合わせた挙動を選択できます。Interface Builder では、インターフェイスの設計時に、任意のデバイスと向きの組み合わせを使用してプレビューできます。

ビューのデバッグ

アプリケーションの UI のデバッグが非常に簡単になりました。一時停止したアプリケーションの UI を 1 回クリックするだけで、重なったビューの各レイヤを 3D レンダリング表示できます。これによってビューが欠けているまたは表示されない原因を簡単に特定でき、制約やその他のプロパティをインスペクタ内で確認およびデバッグできます。問題を修正する際は、ビューを選択すると、それに関連するコードがすぐに表示されます。

Xcode 6 には、I/O の使用を監視するデバッグゲージや機能性が向上した iCloud ゲージなど、その他のデバッグツールも用意されています。デバッグナビゲータでは、記録されたスタックフレームやキューに入れられたブロックなど、さらに役に立つ情報が表示されます。

パフォーマンステスト

XCTest フレームワークは、パフォーマンステストへの対応のため機能拡張され、Xcode および Xcode Server に完全に統合されました。デベロッパが定義したパフォーマンスの測定基準に基づき、Xcode でパフォーマンステストが実行されます。それ以降のテスト実行時には、パフォーマンスの比較、時系列変化の表示、コードのコミットによって引き起こされる可能性があるパフォーマンスの急低下に対する警告が実行されます。パフォーマンステストは Xcode の新しいログ UI と緊密に連携しており、テスト結果が変化したタイミングがより明確に表示されるため、アプリケーションのクオリティを監視する際は、パフォーマンスや機能性の急低下を把握することができます。

Instruments は、操作環境と機能性が Xcode にいっそう近くなりました。記録したデータの追跡にさらに多くの領域が割り当てられ、データの収集と表示の設定は、統一されたインスペクタエリアで管理できます。また Instruments では、XCTest をプロファイルすることも可能です。

その他の機能

OS X 向けの Storyboard

AppKit の新しい ビューコントローラ API を活用することで、Storyboard を OS X で使用できるようになりました。コードを記述しなくてもコンテナ機能とアニメーションを定義でき、複数のビューを簡単に関連付けることができます。OS X 向けの Storyboard では Mac 標準に従ったインターフェイスを作成できるため、アプリケーションはユーザの期待通りに動作します。

拡張機能とフレームワーク

iOS のデベロッパは OS X と同様に動的なフレームワークを作成できるようになりました。フレームワークとは複数のコードとリソースを 1 つの機能としてカプセル化したもので、複数のプロジェクトで使用できます。フレームワークは、メインのアプリケーションおよびバンドルされている拡張機能が使用できるロジックを共有することにより、拡張機能と完全に連動します。

ゲーム開発

Xcode は SpriteKit のレベルデザイナーを搭載し、SceneKit およびパーティクルエディタの新機能に対応しています。iOS や OS X に対応する優れたゲームの開発が、これまで以上に簡単になりました。

ローカライズ

Xcode 6 のローカライズが全体的に更新されました。Base の .strings ファイルは、デベロッパのコードから自動的に作成されるようになりました。プレビューアシスタントを使用、または iOS Simulator で目的のロケールを設定してアプリケーションを起動すると、アプリケーションが目的の言語でどのように表示されるかを確認できます。ローカライズの完了後は、業界標準の .XLIFF フォーマットを使用して、Xcode で簡単にエクスポートおよびインポートできます。

Xcode Server

OS X Server で実行される Bot は、規則に従ってカスタムスクリプトを実行するトリガに対応しています。統合機能を実行する間隔を設定するためのオプションも用意されています。また、Bot をグループ化して設定を共有することも可能です。iOS Simulator の構成を活用すれば、特に Xcode Server から実行する場合に、独自のテストシナリオの作成が簡単になります。