Xcode 8 の新機能
Xcode は、Apple TV、Apple Watch、iPad、iPhone、及び Mac 用のアプリを作成するための完全な開発ツールセットです。Xcode 開発環境は、tvOS SDK、watchOS SDK、iOS SDK、及び macOS SDK の形式で Instruments 分析ツール、シミュレータ、および OS フレームワークをバンドルしています。
Xcode 8.3
Xcode 8.3 は、バグの修正とパフォーマンスの向上を伴うメンテナンスアップデートです。これには、iOS 10.3、watchOS 3.2、macOS 10.12.4、および tvOS 10.2 のサポートが含まれています。
Xcode 8.3 の詳細については、Xcode リリースノート を参照してください。
デバッグ
- ブレークポイントナビゲータフィールドにシンボルの自動補填を追加しました。
- インテント拡張クエリを入力するためのテキストフィールドを追加しました。
- iOS iMessage Extensions のビュー階層を視覚的にデバッグするためのサポートを追加しました。
インストルメント
- [Display Setting(表示設定)] ペインを削除し、機能を新しい位置に移動しました。詳細については、[Help] > [Instruments Help] と Xcode リリースノート のインストルメントの新機能 を参照してください。
- タイムラインペインで複数の実行のグラフを同時に表示する機能は削除されました。
プロビジョニング
- 手動プロビジョニングプロファイルの表示と管理をプロジェクトエディタの [General (全般)] タブに移動しました。
- 簡略化された署名証明書の表示と管理。
シミュレータ
- [Hardware] > [Siri] を選択して Siri を起動します。
- xcrun コマンドラインツールの simctl ツールは、バグレポートを提出するための追加情報を提供する 2 つの新しいコマンドを追加しています。
静的アナライザ
- 述語としてインスタンス変数を使用する dispatch_once() の呼び出し、およびスカラー値と数値オブジェクト間の意図しない比較のために、変更可能な型の合成コピープロパティのチェックを追加しました。
Swift
- Xcode 8.3 は Swift 3.1 を含んでいます。
- Sequence プロトコルは、2 つの新しいメンバー prefix(while:) と drop(while:) を追加しました。
テスト
- 非同期テストの作成を簡素化するための新しい API を追加しました。
Xcode 8.2
Xcode 8.2 は、バグの修正とパフォーマンスの向上を伴うメンテナンスアップデートです。これには、tvOS 10.1、watchOS 3.1、iOS 10.2、及び macOS Sierra 10.12.2 のサポートを含みます。
詳細については、Xcode リリースノート を参照してください。
タッチバーのサポート
- ソースエディタ、プレイグラウンドエディタ、Interface Builder、ビューデバッガ、メモリグラフデバッガのタッチバーコントロールをカスタマイズすることができます。目的のエディタを開き、[View] > [Customize Touch Bar (タッチバーのカスタマイズ)] を選択します。詳細については、Xcode ヘルプを開き、タッチバーコントロールのカスタマイズを検索してください。
Swift
- Xcode 8.2 は Swift 2.3 をサポートする最後のリリースです。プロジェクトを Swift 3 に移行するには、[Edit] > [Convert] > [To Current Swift Syntax(現在の Swift 構文へ)] を使用して下さい。
シミュレータ
- 以前に Xcode でビルドしたアプリバンドルをディスクから Simulator にドラッグすると、アプリをインストールします。
- xcrun コマンドラインユーティリティを使用して、シミュレータのスクリーンショットまたはビデオレコーディングを行うことができます。詳細については、コマンドラインを使用したスクリーンショットの取得とビデオの録画 を参照してください。
旧式の通知
- Xcode 8.2 は Swift 2.3 をサポートする最後のリリースです。
Xcode 8.1
Xcode 8.1 は、バグの修正とパフォーマンスの向上を伴うメンテナンスアップデートです。これには、iOS 10.01、watchOS 3.1、macOS 10.12.1、及び tvOS 10.0 のサポートを含んでいます。
互換性
Xcode 8.1 には MacOS 10.11.5 以降が動作する Mac が必要です。
タッチバーのサポート
- Xcode はコンテキスト固有の項目をタッチバーに追加するため、実行中のアプリから Xcode 関数への簡単なアクセスとデバッグ機能へのアクセスを可能にします。
- Interface Builder は、タッチバーに追加した項目をプレビューするだけでなく、MacOS アプリ用のタッチバーに項目を追加することもできます。
- Xcode には、タッチバーシミュレータウィンドウが含まれています。
Interface Builder
- Interface Builder キャンバスの下部にある新しい [Update Frames(フレームを更新)] ボタンをクリックして、選択したオブジェクトとその子のフレームを更新します。
- NSObject を使用する代わりに、UIGestureRecognizer または NSGestureRecognizer のカスタムサブクラスにオブジェクトライブラリの新しい [Custom Gesture Recognizer (カスタムジェスチャー認識)] を使用して下さい。
- キャンバスの下部にある[Pin (ピン)] ボタンの名前が、[Add New Constraints (新規制約の追加)] に変更されました。
旧式と削除の通知
- Debugger() と DebugStr() は旧式となりれ、スキームエディタはこれらの関数を有効にするオプションを提供しなくなりました。あなたのプロジェクトでこれらの関数を使用している場合は、環境変数 USERBREAK に値 1 を設定してこれらの関数を有効にして下さい。
- 自動化インストルメントがインストルメントから削除されました。代わりに Xcode の UI テストを使用して下さい。
- Xcode 8.1 で使用されている Swift 2(2.3) のバージョンは、Xcode 7.3.1 で使用されていたバージョンに非常に近いものです。ただし、新しい SDK 用に更新されているため、Xcode 7.3.1 でコンパイルされた Swift フレームワークと互換性がありません。バイナリの Swift フレームワークの配布は、Xcode 8 ではサポートされていないままです。
Xcode 8 のハイライト
Xcode 8 には、全体的な品質改善と広範な新機能が含まれています。
- 安全性。 実行時ライブラリの検証による Xcode.app の安全性の強化
- 可読性。 新しい SF Mono フォントとテーマをハイライトする構文の更新
- ダウンロード。 ダウンロードサイズの縮小と App Store のダウンロードの高速インストール
- アクセシビリティ。 核の Interface Builder ワークフローや Xcode 全体のアクセシビリティを強化
- ユーザビリティ。 パフォーマンスを向上させ、メモリ使用量を削減するための Xcode および Interface Builder の全体の機能向上
- リファレンス。 より速く、よりスペース効率の良い、読みやすいドキュメント
Swift 言語
Xcode 8 の新機能 - Swift 3。 Swift の最新リリースには、コードの一貫性と明快さを高めるために設計された API 命名法を大幅に改良しています。また、このリリースでは、重要なフレームワークが Core Graphics や Grand Central Dispatch などのネイティブな Swift インターフェイスにアップグレードされました。
Swift Programming Language(Swift 4) は Swift 3 の詳細な情報を含むように更新されました。
Swift コードを最新の Swift 3 言語仕様および SDK 要件にアップグレードするのに役立つ Swift Migrator が提供されています。
署名
- 構成を理解しやすく、診断を強化した新しい署名エディタ
- マシンごとに署名証明書を利用できるため、証明書を取り消す必要がなくなります。また、開発用マシン間で秘密鍵を転送する必要もありません。
機能
- Mac App Store 以外でデベロッパー ID で配布されている Mac アプリで iCloud が利用可能
Interface Builder
- 新しい適応 UI 開発ツールとワークフロー
- デザインキャンバス内の各デバイス型のピクセル完全レンダリング
- ズームアウトしても編集をサポートする、高速で新しいデザインのキャンバス
アセットカタログ
- 表現可能なメッセージ機能のサポート("ステッカー(Sticker)")
ソース編集
- 開発者のプラグインを有効にするための Xcode ソースエディタ用のアプリ拡張機能
- Swift 及び Objective-C コード用のマニュアルの自動作成
- 現在の行のハイライト表示
- Swift コードの色とイメージのリテラル
- イメージ用のコード補完
デバッグ
- デバッグ中のメモリ関係の可視化とナビゲーションのためのメモリデバッグ
- コンパイル時の問題と同様に、デバッガが issue (問題) ナビゲータに表示されている間の実行時の問題:
- メッセージとアクション拡張機能デバッグを iOS 用にサポート
- ビューをデバッグする際の詳細な制御と可視性
- リークの問題は、デバッグセッション中に検出されたメモリの潜在的なリークを特定します。
- スレッド・サニタイザーは、実行時にデータ変更に関するスレッド作成の競合条件を識別します。
- デバッグの問題を表示すると、制約の競合が識別されます。
インストルメント
- 問題の診断を容易にする、より詳細なシステムトレーステンプレートの改善
- アプリケーションライフサイクルイベントを含むタイムプロファイラのインストルメントの改良
- MacOS の追加の詳細とサポートを備えた改良された Metal システムトレーステンプレート
- インターフェイスの改善
- システム上のすべてのスレッドに何が起こったかを正確に説明するスレッド戦略ビュー
- どのスレッドがどの CPU 上で実行しているかを示す CPU 戦略ビュー
- 関心のあるインストルメントの点で、プログラムでポイントと関心領域を録音に追加できるようにしました
- アプリケーションが起動し、バックグラウンドで実行されているときや同様のイベントでのプレゼンテーション
テスト
- xcodebuild の新しい build-for-testing と test-without-building オプションは、異なる機械で使用するため、または異なる時間に使用するための分離した操作を可能にします
- テストレポートとともにテストクラッシュログを保存します。特に、Xcode サーバーでテストを実行する時にクラッシュをデバッグするのに便利です。
ドキュメント
- ヘルプメニューからアクセス可能な標準の macOS ヘルプビューアに基づく新しい Xcode ヘルプとインストルメントのヘルプ
- 新しい SDK/API リファレンス体験を以下と共に:
- 統合ドキュメントセット - すべての SDK を1つのパッケージに
- より正確で迅速な検索
- 複数の選択可能な言語表示
- 効率的なデータベースコンテンツモデルによるディスク容量の大幅な削減
ソースコントロール
- 更新されたバージョンエディタ:
- Subversion 1.9 のサポート
- Xcode Server を使用している時に Git の大規模プロジェクトのクローンパフォーマンスが向上しました
- より速いログと blame(責任) の表示
- ファイルの SCM ステータスの高速化
- バージョン管理されていないファイルのサポートの改善
- Git 内のファイル名間の変更のトラッキングを変更しました
- ナビゲータのファイル名変更が Git で正しく変更されるようにしました
- Git 内のファイル名に対する完全な Unicode のサポート
- 新しい差分カウントとステッパーを使用して差分を簡単に移動
- 簡略化されたファイルリストでは、フラットビューと階層ビューの両方の変更が表示されます
Xcode Server
- 標準または管理ユーザーとしてのテスト用のサポートを含む、統合を実行するためのバックグラウンドテストユーザーを選択する機能
- ボット上のツールチェイン設定のオーバーライドのサポート
- Xcode の更新後にアップグレード統合を自動的に実行して問題を特定するのを補助します
- 強化された問題追跡と通信:
- トリガーの改善:
- 改善された issue blame (問題点) と時間の経過に伴う追跡
- 時間の経過とともにボットの構成変更を追跡し、それらの変更に問題を帰属させる統合
- 名前の変更、並べ替え、及び複製が可能なトリガー
- 新しい issue (問題) の電子メールと毎日/毎週のダイジェスト電子メールレポートのサポート
- 受信者ドメインをフィルタリングし、カスタムの "From:" アドレスを設定し、サーバー情報を含めるための新しい電子メール通知設定を利用可能に
互換性
Xcode 8.2 は、Mac OS X 10.11.5 以降を実行している Mac が必要です。
インストール
Mac App Store から Xcode 8.2 を入手します。これは無料のダウンロードであり、Applications フォルダに直接インストールされます。デフォルトでは、Xcode は開発者用のドキュメントをオフラインで読むためにバックグラウンドでダウンロードします。ドキュメントの更新も自動的にダウンロードします。この動作は、インストール後に[ダウンロード] 環境設定ペインを使用して変更できます。
開発者向けリソース
Apple Developer Program(アップル開発者向けプログラム) は、App Store、Mac App Store、および Apple TV App Store へのアクセス、Apple TV、Apple Watch、iPad、iPhone、及び iPod touch デバイスでのテストと展開のための追加のサポートとドキュメント、リソースへの署名を提供します。詳細については、Apple Developer Program の Web サイト をご覧ください。
プレリリース製品を含む、アップルデベロッパソフトウェアに関する議論については、 アップルデベロッパーフォーラム をご覧ください。
最新のセキュリティ情報については、http://support.apple.com/kb/HT1222 を参照してください。
SDK とシミュレータについて
ソフトウェア開発キット(SDK) は、特定の watchOS、iOS、または macOS バージョン用の API を表すフレームワーク(ライブラリ、ヘッダー、及びリソース) の集合です。あなたのアプリが SDK から取得するほとんどの機能は、実際にはホストオペレーティングシステムによって提供され、アプリの互換性にとって重要な正しい Base SDK と OS Deployment Target の設定を行います。Xcode は自動的に最新の SDK を使用してビルドし、最新の OS を対象とします。
アプリが最新の OS 機能を必要としない場合は、Xcode プロジェクト設定の [OS Deployment Target(OS 展開ターゲット)] オプションを使用して、以前のバージョンのプラットフォームオペレーティングシステムで実行するように構成できます。プロジェクトが Xcode の古いバージョンで作成されている場合は、Xcode でプロジェクトを更新できます。この機能の詳細については、プロジェクトの最新化 を参照してください。
自動署名
現在の署名プロセスに更新されていない古いプロジェクト上で作業している場合、署名プロセスを変更すると開発が妨げられる可能性があります。
企業と App Store の両方の開発者アカウントに推奨されるアプローチは、開発と配布の両方で Xcode で自動署名を使用してアプリにコードサインすることです。自動署名については、Xcode のヘルプ を参照してください。自動署名を使用するように構成されていない古いプロジェクトがある場合は、Technical Q&A(QA1814)"自動プロビジョニング用の Xcode の設定" を読んで、Xcode プロジェクトを再構成する手順を確認してください。
他の手法を使用する前に自動署名を検討する必要がありますが、プロジェクトに手動署名が必要な場合は、Xcode のヘルプ で "manually sign(手作業で署名する)" を検索して現在の手動署名の方法を確認してください。
プロジェクトの最新化
プロジェクトを開くと、Xcode はそれを評価して、設定を更新する必要があるかどうかを確認します。この機能により、プロジェクトが最新の SDK とベストプラクティスに準拠しているかを簡単に確認できます。
issue (問題) ナビゲータを開いて、プロジェクト内の何かを更新する必要があるかどうかを確認します。プロジェクトナビゲータでプロジェクトを選択して、[Editor] > [Validate Setting(設定の検証)] を選択することもできます。
issue (問題) ナビゲータに最新化の問題がリストされている場合は、問題をクリックして、実行する必要のある更新内容とその一部またはすべてを実行するためのダイアログボックスを表示します。
変更を実行するかどうかに関係なく、[Perform Changes(変更を実行)] をクリックすると、Xcode は警告を再度表示しません。チェックを再実行するには、プロジェクトナビゲータでプロジェクトを選択し、[Editor] > [Validate Setting (設定の検証)] を選択して下さい。
以下も見よ
Xcode の使用方法の詳細については、[Help] >[Xcode Help] を選択してください。
前の章 次の章