WWDC 2016でAppleは、iOS、macOS、tvOS、watchOSのためのIDEの最新バージョン、Xcode 8を発表した。Xcode 8は現在ベータで、Swift 3、改善されたアドレスおよびスレッドサニタイザ、新しいEditor Extensionsアーキテクチャなどを導入する。
Swift 3は、Appleが2015年12月にオープンソース化して以来、最初のメジャーリリースになる。InfoQがたびたび報告してきたように、Swift 3ではこれまでのバージョンとのソース互換性とバイナリ互換性がなくなる。Swift 2.xで書かれたコードをバージョン3に移植する作業のために、Xcode 8にはSwiftマイグレーションツールが含まれる。Xcodeマイグレーションツールを使うときと同じように、あなたはスキームにコンバートしたいターゲットがずべて含まれること、コードがXcode 7.3でエラーなしにコンパイルできることを確かめるべきだ。たとえ条件を満たしていても、マイグレーションに失敗することがある。Swiftのブログには、その場合に適用できるかもしれないワークアラウンドが挙げられている。
Xcode 8には、新しいランタイムサニタイザとより厳密な静的アナライザも含まれている。
- 新しいスレッドサニタイザは、SwiftおよびObjective-Cにおけるデータ競合や並列化のバグを発見・理解するのに役立つ。
- アドレスサニタイザはSwiftコードをサポートするようになる。これはSwiftでC呼び出しとやりとりするのに使われる
UnsafeMutablePointer
の使用に関連した問題を捕捉するのに役立つ。 - 静的アナライザは、Nullability違反をチェックする「Aggressive」レベルをサポートするようになる。これはすべての呼び出しの違反をチェックすることができる。これにはプロジェクトとシステムヘッダの両方が含まれ、すべての新規プロジェクトでデフォルト有効になっている。
Xcodeランタイムサニタイザおよび静的アナライザで導入された新しい機能が使えるのは、Swift 3のときだけだ。
UIに関して、Xcodeはエディタのカスタマイズを可能にするためのEditor Extensionsをサポートする。Xcode 8には、Editor Extensionsの作成に使える新しいプロジェクトテンプレートも含まれる。Xcodeの安定性に影響を及ぼさないよう、Xcode Editor Extensionsは別プロセスで動作する。
Appleによると、Xcode 8は以前のバージョンよりも劇的に高速になったという。特にInterface Builderは速度と制御に関して再設計され、任意のAppleデバイスでアプリがどのように見えるのか、ライブプレビューが可能になる。
変更点の詳細はXcode 8リリースノートにある。Xcode 8は5.5 GBのサイズで、Apple Developer Connectionのダウンロードページからダウンロードできる。有料会員登録は必要ないが、リリースノートとXcode 8インストーラは登録済みの開発者だけがアクセスできる。
Rate this Article
- Editor Review
- Chief Editor Action