Xcode 14 の新機能
Xcode 13 以降、特に 14 以降の Xcode の新機能については、こちら をご覧下さい。
Xcode で利用可能な主な機能について学びます。各ベータリリースを含む最新リリースバージョンの更新の詳細については、
Xcode リリースノート を参照してください。
Xcode12 の新機能
Xcode 12 には、iOS 14、iPadOS 14、tvOS 14、watchOS 7、および macOS Big Sur 用の Swift 5.3 および SDK が含まれています。
Universal apps
- 1 つの macOS Universal アプリには、Intel ベースの Mac と Apple Silicon Mac のネイティブバイナリが含まれています
- ツールバーの "Any Mac" の宛先は、Intel ベースの Mac でもユニバーサルアプリをビルドします
- 標準アーキテクチャのビルド設定のデフォルトはユニバーサルであり、Xcode は必要に応じてプロジェクトのアップグレードを提案します
- ユニバーサルアプリのクイックスタートプログラムから Developer Transiton Kit (DTK) で "My Mac(Rosetta)" を選択して、ユニバーサルアプリ内で Intel バイナリを実行およびデバッグします。
注意:デフォルトの Xcode 12 ベータは、新しい Apple Silicon Mac を除くすべてのプラットフォームの開発に使用できます。"macOS Universal Apps ベータ版の Xcode 12" という名前の別のダウンロードには、macOS Universal アプリのサポートが含まれており、Intel ベースの Mac と Universal App Quick Start Program の DTK でも実行できます。Xcode 12 の将来のベータ版では、すべてのプラットフォームと、単一の製品内の macOS Universal アプリをサポートする予定です。
macOS Big Sur の洗練されたユーザーインターフェイス
- ドキュメントタブは、軽量のエディタタブで、ログ、アセットカタログ、UI ファイルなど、あらゆる型のドキュメントを開きます。
- ツールバー、アイコン、サイドバーのデザインは、macOS Big Sur の美しく新しい美学にマッチします
- ナビゲータフォントはシステム設定のサイズを追跡するか、手動でカスタムサイズに設定できます
- オーガナイザは完全に再設計され、アニメーションのヒッチやスクロールなどの新しいアプリのメトリックを報告します
Swift と SwiftUI
- SwiftUI のアプリライフサイクルにより、iOS、iPadOS、および macOS の SwiftUI でアプリ全体を完全に記述できます
- SwiftUI でビルドされた WidgetKit により、iOS、iPadOS、および macOS で実行されるウィジェットのコードを簡単に共有できます
- SwiftUI のパフォーマンスは全体的に改善され、新しい Lazy ビューは膨大なデータセットを効率的に処理します
- マルチプラットフォームテンプレートにより、すべての Apple プラットフォーム間で SwiftUI コードを簡単に共有でき、各々をカスタマイズできます。
- SwiftUI ビューは、Xcode ライブラリやコード補完に表示される再利用可能なコンポーネントに変換できます
- Swift Package Manager はリソースとローカリゼーションをサポートしているため、SwiftUI コンポーネントの共有に最適です
- 改善された Swift 言語診断により、特に SwiftUI コードでのコーディングミスの理解がはるかに容易になります。
Mac Catalyst
- Mac イディオムは、アプリのユーザーインターフェイスを 100% ネイティブ Mac のサイズとスケールで表示し、完全にカスタマイズできます
- HomeKit や AVCapture などを含む追加のフレームワークとコントロールが利用可能です
- キーボード API と OS 統合により、キーボードを使用してアプリを完全に制御することが容易になります
- Mac Catalyst でビルドされたアプリは、macOS Big Sur の新しいルックアンドフィールを自動的に継承します
他の改善点
- アプリクリップターゲットは、すばやくインストールされたアプリから小さな集中的なエクスペリエンスを作成します
- StoreKit テストフレームワークとトランザクションマネージャーにより、アプリ内購入のテストとデバッグが簡単になりました
Xcode 11 の新機能
Xcode の主要な機能について学びます。各ベータリリースを含む、最新リリースバージョン
のアップデートの詳細については、 Xcode リリースノート を参照してください。
Xcode 11
Xcode 11 には、iOS 13、tvOS 13、watchOS 6、および macOS Catalina 10.15 用の Swift 5.1 および SDK が含まれています。
このリリースでは、あなたのアプリをさらに多くの Apple プラットフォームにもたらすための多くの機能が追加されています。SwiftUI は、読みやすく、書くのに自然な宣言型の Swift 構文を備えた革新的な新しいユーザーインターフェイスフレームワークです。驚くべき新しいプレビューツールを使用すると、コードとデザインを常に同期しながら、SwiftUI コードを手動で入力したり、豊富なデザインツールで UI を変更したりできます。既存の iPad アプリのプロジェクト設定で「Mac」チェックボックスを選択することにより、Mac アプリで有利なスタートを切ることができます。また、Xcode 11 での Swift パッケージのサポートにより、すべてのあなたのアプリ間でコードを共有したり、コミュニティが作成したパッケージを利用したりできます。
SwiftUI
Xcode 11 には、新しい Swift フレームワークである SwiftUI と、ユーザーインターフェイスを構築するまったく新しい方法を強化する設計ツールが含まれています。Xcode のデザインツールを使用すると、ドラッグアンドドロップで簡単にインターフェイスを構築または編集でき、手作業でも編集できるまったく同じ Swift コードファイルを即座に編集できます。Xcode は常に実際のアプリインターフェースをライブで実行して、デザインキャンバスで直接どのように動作するかを確認できます。または、接続されたデバイスでアプリを即座にプレビューできます。
SwiftUI に含まれるもの:
- 設計ツールは、単一の本当のソースのために手動で編集したのと同じコードを読み書きします
- 宣言構文は、ユーザーインターフェイスを読みやすい Swift コードとして定義します
- アニメーションは、見たいアクションを説明する簡単なコマンドを使用して構築されます
- 制御と変更のライブラリにより、複雑なインターフェイスを簡単に設計および構築できます
- すべての Apple プラットフォームで共通の UI コードを共有し、各 OS にカスタムの経験を追加します
- プレビューでは、さまざまなデバイス型とアクセシビリティ設定で正確なレンダリングが表示されます
- デザインキャンバスまたは接続されたデバイスで、ライブでインターフェイスと操作します
- 編集内容をあなたのアプリのライブビューにホットスワップして、変更を即座に確認して操作します
SwiftUI には iOS 13、watchOS 6、tvOS 13、または macOS Catalina が必要です。SwiftUI デザインキャンバスを使用するには、Xcode 11 をmacOS Catalina で実行する必要があります。
iPad アプリを Mac にもたらす
既存の iPad アプリを何百万人もの Mac ユーザーに簡単にもたらす事ができます。1 つのチェックボックスをクリックするだけで、Xcode はあなたの iPad アプリを優れたパフォーマンスを発揮する真のネイティブな Mac アプリに変換できます。
- iPad プロジェクト内のチェックボックスをクリックすると、macOS SDK でビルドされたネイティブな Mac アプリが追加されます
- Xcode は、単一のプロジェクトを使用して、あなたのアプリの iPhone、iPad、および Mac バージョンをビルドします
- すべてのプラットフォームで単一のコードベースを使用し、Mac 用にあなたのアプリの一部をカスタマイズします
- 既存の共有された UIKit コードに新しい SwiftUI コードを追加します
- Xcode から直接 Mac App Store に送信するか、外部配布のために認証する
Swift および Swift パッケージ
- Swift パッケージは、ビルド、デバッグ、SCM など、Xcode ワークフロー全体でサポートされています
- GitHub、Bitbucket、GitLab、または独自のホストで公開された Swift パッケージを簡単に使用できます
- Xcode は依存関係分析に基づいてパッケージを自動的に取得および管理します
- 独自のパッケージを作成して、独自のアプリ間でコードを共有したり、コミュニティに公開したりできます
iOS ダークモード
- 開発中とデバッグ中に、ライトモードとダークモードを即座に切り替えられる
- アセットカタログにより、ダークモードとライトモードの画像と色を簡単に制御できます
エディタ
- エディタのミニマップは、コードの鳥瞰図を提供するため、任意のセクションにすばやくジャンプできます
- 各エディタのビューまたはタブには、独自のプレビュー、アシスタント、またはその他の補完的なビューがあります
- 任意のエディタのペインを分割して、必要に応じてワークスペースをレイアウトできます
Xcode 11 のその他の改善点
- より高速なデバッグ体験を備えたスタンドアロンの watchOS アプリをビルドできます
- シミュレータの起動がはるかに速くなり、GPU を使用して Metal コードを加速できます
- テスト計画により、共有可能な結果バンドルを使用して、テストハーネスをより詳細に制御できます。
- テスト計画の一部として UI テストを使用して、ローカライズされたスクリーンショットを自動的に生成します
- ソース管理により、スタッシュおよびチェリーピック操作のサポートが追加されます
- 低速ネットワークや温度警告などのシミュレートされたデバイス条件でアプリをデバッグできます
- オーガナイザの [Metrics] タブは、顧客のデバイスでアプリがどれだけ効率的に実行されるかを示します
Xcode 10.2.1
Xcode 10.2 には、iOS 12.2、tvOS 12.2、watchOS 5.2、および macOS Mojave 10.14.4 用の Swift 5 および SDK が含まれています。
Swift 5
- Swift 5 実行時環境は、最新の Apple プラットフォームリリースの OS の一部として含まれています
- App Store は、最新の OS を実行しているデバイスへの高速ダウンロードのために、あなたのアプリから Swift 実行時環境を少なくしました
- SIMD ベクター型は標準ライブラリに組み込まれています
- 文字列リテラルの構文が強化され、読み書きが容易になりました
- 新しい Result 列挙型により、非同期操作全体でエラーを簡単に処理できます
Xcode のその他の機能強化
- デバッガコンソールには、「p」または「po」よりも高速な新しいフレーム変数コマンドエイリアス「v」があります。
- プレイグラウンドには、さまざまな安定性の向上と追加のメモリ安全性チェックが含まれます
Xcode 10.2.1 は、大規模な Swift プロジェクトのビルド時間の問題を修正し、追加のバグ修正を含んでいます。
Xcode 10.1
Xcode 10.1 には、iOS 12.1、watchOS 5.1、tvOS 12.1、および macOS Mojave 用の Swift 4.2.1 および SDK が含まれています。
Xcode 11 の新機能
Xcode 10
Xcode 10 は macOS Mojave の Dark Mode との組み合わせで見事に見え、MacOS アプリでも新しい外観を採用しやすくなります。Xcode 10 ベータ版には、iOS 12、watchOS 5、tvOS 12、及び macOS Mojave の Swift 4.2 とベータ SDK が含まれています。
ダークモードインタフェースと Mac アプリのサポート
- Xcode とインストゥルメンツ全体で全く新しいダークな外観
- アセットカタログは、カスタムカラーとイメージアセットにダークととライトのバリエーションを追加しました
- Interface Builder は、インターフェイスのダークプレビューとライトプレビューを切り替えます
- OS の設定を変更せずに、ダークまたはライトのバリエーションの Mac アプリをデバッグします
ソースコントロール
- ローカルリポジトリまたは共有サーバーのアップストリームの変更は、エディタ内で直接ハイライト表示されます。一見すると、次のように表示されます。
- コードの変更。
- 共有リポジトリにまだプッシュされていない変更。
- 他の人が行ったアップストリームの変更。
- コミットする前に対処すべきコンフリクト。
- Atlassian Bitbucket から提供されているクラウドホスト型およびセルフホスト型 Git サーバのサポート、及び既存の GitHub サポートに対応する GitLab のサポート
- Xcode は、最新バージョンのコードをリポジトリから取得する際に、変更内容をリベース (rebase) することができます。
- 必要に応じて SSH キーが生成され、サービスプロバイダにアップロードされます。
エディタの機能強化
- 一度に多くの変更を加えるために、複数のカーソルをコードエディタに配置します。
- コード折りたたみリボンは、中括弧で囲まれたコードブロックをどこでも隠すことができるようになりました。
- オーバースクロールを使用すると、画面中央の最後のコード行を簡単に中央に配置できます。
マシンの学習のために作られたプレイグラウンド
- REPL のような新しいモデルは、あなたの既存のプレイグラウンドのコードを直ちに再実行します。
- 特定の行までコードを実行するか、shift-return を入力して追加したばかりのコードを実行します。
- Create ML フレームワーク をインポートして、新しいモデルをインタラクティブにトレーニングし、それからモデルをすぐにテストするためのコードをプレイグラウンドに書き込んでください。終了したら、モデルをあなたのアプリにドラッグします。
テストとデバッグ
- デバッグシンボルは、新しいデバイスから以前より 5 倍高速にダウンロードされます。
- Xcode は、マルチコアの Mac を活用するために同一のシミュレータを集め、ファンテストを並行して実行することで、テストスイートを何倍も速く完了させます。
- ランダムな、または線形の順序でテストを実行します。
- インストルメントは、コードにあなたが加えた OSLog の標識を自動的に表示します。
- 独自のカスタムインストルメントパッケージを構築して共有することで、独自のコードのユニークなデータの視覚化と解析を提供します。
- メモリデバッガは、コンパクトなレイアウトを使用して、メモリグラフの調査を容易にします。
- メタルシェーダデバッガを使用すると、頂点の実行、断片化、計算、およびシェーダコードのタイル化の実行を簡単に検査できます。
- Metal 依存関係ビューアは、Metal ベースのアプリでどのようにリソースが使用されているかの詳細なグラフを提供します。
ビルドのパフォーマンス
- デフォルトで新しいビルドシステムが有効になり、全体を通してパフォーマンスが向上しました。
- Swift コンパイラは個々のファイルを大幅に高速化してビルドします。
- 大きな Swift プロジェクトは、インクリメンタルビルド設定を使用すると、デバッグが大幅に高速化されてビルドします。
Xcode 9.3
Xcode 9.3 には、iOS 11.3、watchOS 4.3、tvOS 11.3、および macOS High Sierra 10.13.4 用の Swift 4.1 と SDK が含まれています
- [Organizer (オーガナイザ)] ウィンドウの [New Energy (新しいエネルギー)] タブには、あなたのアプリの消費電力が大きすぎるときに生成されるログが含まれます
- Swift のビルドタスクと他のコマンドは、ビルドのパフォーマンスを改善するために、より頻繁に並行して実行されます
- Swift コンパイラは -Osize ビルド設定で有効になった新しいコードサイズの最適化を追加しました
- コマンドキーを押しながらシンボルをクリックすると、発信者にすばやくアクセスできます
- アセットカタログは、あなたの ARKit アプリによって現実世界で検出できる AR 参照画像ファイルをサポートします
- 新しい xccov コマンドラインツールを使用すると、コードカバレッジレポートを検査できます
- 非常に大きなファイルで作業するときのソースエディタのパフォーマンスの向上
Xcode 9.2
Xcode 9.2 には、iOS 11.2、watchOS 4.2、tvOS 11.2、macOS High Sierra 10.13 用の Swift 4 と SDK が含まれています。
- 最新のプラットフォーム SDK への更新
Xcode 9.1
Xcode 9.1 には、iOS 11、watchOS 4、tvOS 11、及び macOS High Sierra 10.13 用の Swift 4 と SDK が含まれています
- OpenGL ES とマップのパフォーマンスに影響を与える Simulator の問題を修正しました。
- iPhone X のサポートを改善
Xcode 9.0.1
Xcode 9.0.1 には、iOS 11、watchOS 4、tvOS 11、及び macOS High Sierra 10.13 用の Swift 4 と SDK が含まれています
- iPhone X のシミュレータの改善
- テストナビゲータが使用可能なテストと同期しなくなる問題を修正しました。
Xcode 9.0
Xcode 9 には、iOS 11、watchOS 4、tvOS 11、及び macOS High Sierra 10.13 用の Swift 4 と SDK が含まれています
- リファクタリングにより、Swift、Objective-C、C、および C++ コードの構造を簡単に変更できます
- コードエディタは驚くほど速く、応答性があり、Markdown 構文のネイティブサポートを追加しています
- Fix-its はワンクリックであなたのコードに複数の改善を加え、さらに必要なプロトコルメソッドを追加することもできます
- 新しいソースコントロールナビゲータと統合された GitHub アカウントにより、チーム全体のコードを簡単に管理できます
- ネットワーク上のデバイス上の iOS および tvOS アプリのワイヤレスインストールとデバッグ
- シミュレータはより実際のデバイスのように見え、動作し、一度に複数のデバイスをシミュレートすることができます
- iOS のプレイグラウンドテンプレートは、iPad 上の Xcode と Swift Playground の両方で動作するドキュメントを作成します
- Find navigator は非常に高速で、結果は即座に表示されます
- プロジェクトナビゲータは自動的にファイルとグループを Finder やソースコントロールと同期させます
- Xcode サーバーはもはや macOS サーバを必要とせず、Xcode 環境設定で完全に設定することができます
- 次世代ビルドシステムは、多くのプロジェクトを構築する際の信頼性とパフォーマンスを向上させます(オプションで有効)
- Swift 4 コンパイラは、Swift 3 コードもコンパイルでき、一度に 1 つのモジュールで段階的な移行を可能にします
- 最新の SDK には、マシン学習のための Core ML フレームワークと、拡張現実感のための ARKit を含んでいます
Xcode 10.0 では、以下に挙げた項目は一切なくなっています。しかし、削除するのも手間なので、敢えて残すことにした。
Xcode 9 の新機能
Xcode は、Apple TV、Apple Watch、iPad、iPhone、及び Mac 用のアプリを作成するための完全な開発ツールセットです。Xcode 開発環境は、tvOS SDK、watchOS SDK、iOS SDK、および macOS SDK の形式で Instruments 分析ツール、シミュレータ、および OS フレームワークがバンドルされています。
Xcode 9のハイライト
Xcode 9には、全体的な品質改善と広範な新機能が含まれています。
- すべて新しいエディタ。高速で、構造体ベースのエディタで、コードをインテリジェントに強調表示したり、移動したりすることができます。優れた Markdown サポートが含まれています。
- リファクタリング。リファクタリングは編集経験に組み込まれており、Swift、Objective-C、Interface Builder、その他の多くのファイル形式で動作します。
- 超高速検索。Find ナビゲータは即座に結果を返します。
- デバッグ。iOS と tvOS デバイスをネットワーク経由でワイヤレスでデバッグし、Metal の新しいデバッガと Xcode 全体でのさらに多くの機能。
- ソースコントロール。すべての新しいソースコントロールナビゲータと GitHub の統合サポートは、リポジトリをすばやくブラウズし、リポジトリをクラウドにプッシュするためのものです。
- Xcodeサーバーが組み込まれています。継続的な統合ボットは、MacOS Server をインストールする必要がなく、Xcode 9 を搭載したあらゆる Mac 上で実行できます。
- 新しいプレイグラウンドテンプレート。iPad の Xcode と Swift Playground の両方でうまく動作するように設計された iOS テンプレートが含まれています。
- 新しいビルドシステム。Xcode の新しいビルドシステムのオプトインプレビューにより、信頼性とパフォーマンスが向上します。
一般
- plist ファイルを使用してテキストマクロを定義する方法を更新しました。
- ユーザー、プロジェクト、またはプロジェクト内の特定のユーザー用のテキストマクロを定義します。
- 新しいファイルヘッダーをカスタマイズします。詳細については、Xcode ヘルプ の ファイルヘッダーのカスタマイズ を参照してください。
- 詳細については、Xcodeヘルプ を参照してください。
- ファイルのコンパイル時にインデックスを作成する機能を含むインデックスエンジンを更新しました。
- デバイスウィンドウは、デバイスとシミュレータ用に別々のペインに分割されています。
アセットカタログ
- 名前付きカラーがサポートされています。
- 広い色域のアプリアイコンを追加しました。
- アプリアイコンセットに、より大きな iOS マーケティングを追加しました。
- ダイナミックタイプのスケーリングに一致するイメージベクトルデータを保存するオプションを追加しました。
- HEIF イメージのサポートを追加しました。
ビルドとリンク
- Xcode 9 の新機能 - 新しいビルドシステム。
- Swift で書かれた新しいビルドシステムのプレビューを追加しました。
- より高い信頼性を提供します。
- 多くのプロジェクト構成上の問題を捕らえます。
- ビルドシステム全体のパフォーマンスを向上させます。
- 現在はオプションで、Xcode の将来のバージョンではデフォルトになります。
- プロジェクトまたはワークスペースの新しいビルドシステムを選択するには、File > Project Settings または File > Workspace Settings を選択し、ビルドシステムタイプの新規ビルドシステム(Preview) を選択します。
- 既存のプロジェクトとの互換性に関する注意事項については、Xcode リリースノート を参照して下さい。
ビルドシステムのパフォーマンスには、ビルドシステムで使用されるコンパイラ、リンカ、およびその他のツールは含まれない事に注意して下さい。
機能
- iOS ホットスポットとマルチパス TCP の新しい構成。
- コンテンツフィルタリング、DNS 照会のプロキシ、TCP および UDP 接続のプロキシを含む新しいネットワーク構成。
- watchOS の新しいバックグラウンドモードは、オーディオ録音と代わる代わるの方向で使用できます。
- tvOS バックグラウンドフェッチの新しいモード。
Core ML
- Xcode 9 の新機能 - Core ML エディタ。
- モデルに強く(strongly) 型付けされたインターフェースを生成します。
- オンデバイス使用のためのモデルコンパイル。
デバッグ
- Xcode 9 の新機能 - iOS および tvOS デバイス用のネットワークデバッグ。
- Wi-Fi または有線ネットワーク経由で iOS および tvOS デバイスをデバッグします。
- Bonjour 経由で接続するか、IP アドレスを入力します。
- ネットワークデバッグを有効にするには、iOS デバイスを一度プラグインする必要があります。
- Xcode 9 の新機能 - GPU フレームキャプチャと GPU オーバーライド。
- コマンドバッファ、添付ファイル、リソース、呼び出しスタックを表示します。
- シェーダーを変更してアプリに変更を保存します。
- シーケンスのタイムラインを移動します。
- 色の値、アルファ、奥行きなど、添付ファイル内の個々のピクセルの値を調べて変更します。
- テクスチャの帯域幅を最小限に抑え、レンダリングされたピクセルの数を最小限に抑え、ブレンドステージを無効にし、ワイヤフレームのみを表示し、モザイクの量をスケーリングすることで、コードを変更することなくレンダリング状態を試してください。
- Xcode 9 の新機能 - 未定義の動作 Sanitizer(殺菌剤)。
- 未定義の動作サニタイザ を使用して、プログラムのクラッシュ、予期しない動作、および将来の Xcode のバージョンとの非互換性の原因を見つけることができます。
- 整数のオーバーフロー、無効なキャスト、アラインメント違反など、C 言語の未定義の動作の型をいくつか検出します。
- スキームエディタの [Diagnostics] ペインで [Undefined Behavior Sanitizer] を有効にします。
- Xcode 9 の新機能 - メインスレッドチェッカー。
- メインスレッドで作成されていない AppKit、UIKit、および WebKit のメソッド呼び出しを検出します。
- デバッグ中に自動的に有効になり、スキームエディタの [Diagnostic] タブで無効にすることができます。
- メインスレッドチェッカー は Swift と C 言語で動作します。
- ディープフィルタリングを使用してブレークポイントナビゲータを拡張しました。
- 修正されたブレークポイントのビジュアルインジケータを追加しました。
- ビューコントローラを表示するためにビューデバッガを拡張し、SceneKit と SpriteKit のビューで動くようにしました。
- iOS エネルギーゲージを拡張しました。
文書化
- 参照、サンプルコード、記事を統合した新しい統一ブラウザ。
- 文書検索の改善。
- ページ間を移動するための新しいジャンプバー。
- 統合されたサンプルコードのダウンロード。
インストルメント
- トレースドキュメントのグラフ領域内にグラフを固定するための新しい分割ビュー。
- すべての戦略(All strategy) を追加し、戦略ピッカーをトレースドキュメントの最上部にある新しいツールバーに移動しました。
- メタルデバッグインストルメントを拡張しました。
- コンポーザーアクティビティ、ポーズクエリなどのイベントを表示するためのメタルシステムトレース VR のサポート。
インターフェースビルダー
- アセットカタログから名前付きカラーを使用するためのサポートを追加しました。
- 新しいマージンとベースラインビューの制約のためのサポートを追加しました。
- 自動レイアウトセーフエリアガイドのサポートを追加しました。
- フルスクリーンの watchOS アプリのサポートを追加しました。
Metal 2 のサポート
- Xcode 9 の新機能 - Capture API
- コード内の明示的なキャプチャ境界を定義します。
- 新しい MTLCaptureManager クラスと新しい MTLCaptureScope プロトコルを使用して、プログラマチックにキャプチャ境界を設定、管理、トリガします。
- 拡張 Xcode GPU キャプチャ UI を使用して、キャプチャを手動で開始および停止します。また、Xcode を使用して、アプリで定義された API 境界をキャプチャすることもできます。
- Xcode 9 の新機能 - GPU カウンター
- 特定の GPU キャプチャに関する詳細なプロファイリングメトリックを分析します。iOS と tvOS では、GPU カウンタはコマンドエンコーダのタイムラインとして表示されます。macOS では、GPU カウンタは描画またはディスパッチコールのタイムラインとして表示されます。
- 頂点シェーダ、フラグメントシェーダ、カーネルの計算など、レンダリングやパイプラインステージ計算のランタイムパフォーマンスを調べます。
- パフォーマンスのボトルネックを見つけるために、各パイプラインステージで費やされた GPU 時間の量を比較します。
- Xcode 9 の新機能 - GPU 評価
- メタルシェーディング言語コードで最適化の機会を見つけます。
- シェーダエディタでデバイス固有のランタイムの問題をデバッグします。
- コードを改善するための直接の解決策と指示に従ってください。
- Xcode 9 の新機能 - スマートフィルタリング。
- デバッグナビゲータに入力して、特定のデバッグ情報を見つけます。リソース、ピクセルフォーマット、関数名、オブジェクトのラベルなど、一致するテキストを入力して強調表示すると、Xcode は動的に提案を表示します。
- Metal オブジェクトの定義済みメニューからオプションを選択して、検索結果を絞り込みます。
- 一致条件が多い場合は複数のフィルタを使用して下さい。
- Xcode 9 の新機能 - VR サポート。
- VR 用に提出された物と左目/右目用に提出されたサーフェスを表示します。
- 色、アルファ、深さなどのレンダリングターゲット内の個々のピクセルの値を検査するテクスチャ検査を追加しました。
- 出力頂点属性の検査をバッファエディタに追加しました。
- テクスチャ、バッファ、サンプラーなどの Metal オブジェクトをサポートするデータヒントを追加しました。
リファクタリング
- Swift、C、Objective-C、および C++ ファイルにわたるグローバルな名前変更
- すべての変更を 1 か所で表示します。
- メソッドのシグネチャを Swift と Objective-C の形式に変換します。
- 必要に応じてプロパティ、ゲッタ、セッタ、および合成された iVars を更新します。
- 1 つのボタンで変わります。
- switch の文の欠落した case と、ワンクリックでのプロトコル準拠のための必須メソッドを自動的に Fix-it します。
- 他の言語固有のローカルリファクタリングとともに、サポートされているすべての言語のメソッドの機能を抽出します。
シミュレータ
- Xcode 9 の新機能 - 複数の同時シミュレータ。
- 複数のシミュレータを同時に実行します。
- より多くのテストを並行して実行します。
- テスト同期やその他のマルチデバイスワークフロー。
- iOS と watchOS シミュレータ用の新しいクロムにはハードウェア制御が含まれており、シミュレートされたデバイスのドラッグやサイズ変更が簡単に行えます。
- マップ、写真、および Safari から、シミュレータと共に情報を共有します。
- xcrun コマンドラインツールの simctl コマンドとの統合を強化するために、ウィンドウを閉じた後またはシミュレータを終了した後にシミュレータを実行し続けるオプションを追加しました。
- シミュレータのビデオを録画します。
- Help > Simulator Help を選択してヘルプを表示してください。
ソースコントロール
- 現在のワークスペースのブランチ、タグ、およびリモートリポジトリを表示するための新しいソースコントロールナビゲータ。
- 新しいソースコントロールインスペクタは、選択されたナビゲータ項目の詳細を表示します。
- 簡単なナビゲーションのためのジャンプバーを含む分岐履歴用の新しいエディタ。
- ファイル差分の新しいサイド・バイ・サイド・エディター。
- 一般的なタスクへのより簡単で迅速なアクセス。
- GitHub アカウントの統合により、簡単にブラウズし、ワンクリックでプロジェクトと関連する GitHub リポジトリを作成できます。
ソース編集
- Xcode 9 の新機能 - すべて新しいソースエディタ。
- より高速で多目的な検索と置換。
- 任意のサイズのファイルの高速スクロール。
- トークンやブロックなどのコード構造の直接操作。
- ソースコントロールの再設計された統合。
- エラーメッセージと警告メッセージの再デザインされた表示。
- Markdown のサポート。
Swift
- Xcode 9 の新機能 - Swift 4。
- Swift 4 と Swift 3、Swift 4 と Swift 3 ターゲット用のコンパイラは、同じプロジェクトで一緒にコンパイルできます。
- 選択したターゲットのみを Swift 4 に移行することをサポートする改良された移行者の経験
- より速いジェネリックコードと少なくなったコードサイズ
テスト
- Xcode 9 の新機能 - 平行してデバイスをテストできます。
- XCTest に新しい API を追加しました。
- スクリーンショットのコントロールとキャプチャ。
- グループテスト活動。
- 添付ファイルをテストします。
- ティアダウンブロックのテスト状態をきれいにします。
- 1 つの UI テストで複数のアプリをターゲットにします。
- 指定した言語と地域を使用してテストを実行します。
Xcode Server
- Xcode 9 の新機能 - 内蔵された Xcode サーバー。
- Xcode サーバーと、Bot のアクセス権を構成するための Preferences 内の New Server & Bots ペイン。
- 2 要素認証のサポートを追加しました。
- ボットの機能を更新しました。
- 自動および手動のプロビジョニングワークフローをサポートします。
- 追加の引数を xcodebuild に渡します。
- デバイスとシミュレータでテストを並行して実行します。
- テスト用に言語と地域を構成します。
- 「すべて明確な」電子メール通知を送信します。
互換性
Xcode 9.0 は、MacOS Sierra 10.12.4 以降を実行している Mac が必要です。
インストール
Xcode 9 beta は、以前のバージョンの Xcode と共存できます。
Xcode のプレリリースバージョンは、developer.apple.com から、圧縮された XIP ファイルにパッケージ化され、認可されたシード開発者に提供されます。ベータ期間中に Xcode をインストールするには、XIP ファイルをダウンロードしてアプリケーションフォルダにドラッグし、ファイルをダブルクリックして下さい。XIP ファイルがその場に展開されます。
最終リリース時に、Xcode は Mac App Store 経由でインストールされます。
開発者向けリソース
Apple Developer Program は、App Store、Mac App Store、および Apple TV App Store へのアクセス、追加のサポートとマニュアル、Apple TV、Apple Watch、iPad、iPhone、および iPod touch デバイスでのテストと展開のためのリソースへの署名を提供します。詳細については、Apple Developer Program の Web サイト をご覧ください。
プレリリース製品を含むアップルデベロッパソフトウェアに関する議論については、Apple Developer Forums をご覧ください。
最新のセキュリティ情報については、https://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] オプションを使用して、以前のバージョンのプラットフォームオペレーティングシステムで実行するように設定できます。プロジェクトが Xcode の古いバージョンで作成されている場合は、Xcode でプロジェクトを更新することができます。この機能の詳細については、プロジェクトの最新化 を参照してください。
自動署名
現在の署名プロセスに更新されていない古いプロジェクトで作業している場合、署名プロセスを変更すると開発が妨げられる可能性があります。
企業と App Store の両方の開発者アカウントに推奨されるアプローチは、開発と配布の両方で Xcode の自動署名を使用してアプリにコードサインすることです。自動署名については、Xcode のヘルプを参照してください。自動署名を使用するように構成されていない古いプロジェクトがある場合は、Technical Q&A (QA1814) "Setting up Xcode for Automatic Provisioning" を読み、Xcode プロジェクトを再設定する手順を確認してください。
プロジェクトの最新化
プロジェクトを開くと、Xcode はそれを評価して、設定を更新する必要があるかどうかを確認します。この機能により、プロジェクトが最新の SDK とベストプラクティスに準拠しているかを簡単に確認できます。
issue (問題) ナビゲータを開いて、プロジェクト内の何かを更新する必要があるかどうかを確認します。プロジェクトナビゲータでプロジェクトを選択して、[Editor]> [Validate Setting(設定の検証)] を選択することもできます。
issue ナビゲータに最新化の問題(issues) が表示されている場合は、問題をクリックして、実行する必要のある更新内容とその一部またはすべてを実行するためのダイアログボックスを表示します。
変更を実行するかどうかに関係なく、[Perform Changes] をクリックすると、Xcode は警告を再度表示しません。チェックを再実行するには、プロジェクトナビゲータでプロジェクトを選択し、[Editor]> [Validate Setting(設定の検証)] を選択します。
以下も見よ
Xcode の使用方法の詳細については、[Help] > [Xcode Help] と選択してください。
次の章