Xcode 14 最新バージョンの新機能を解説!!Xcode 13との違いとは
thumb_xcode14_01
Xcode 14 最新バージョンの新機能を解説!!Xcode 13との違いとは
アンドエンジニア編集部
2023.09.29
この記事でわかること
2022年9月12日、Appleより統合開発環境であるXcode 14の提供が開始されました
年次でメジャーバージョンアップされており、Appleの新製品向けアプリ開発に使われます
Xcode 14ではiOS・iPadOS 16に対応し、Xcode 14.1ではiOS・iPadOS 16.1に対応する予定です

Xcode 14がリリース

img_xcode14_01

2022年9月12日、Appleの統合開発環境(IDE)の最新版となるXcode 14の提供が開始されました。Xcode 14では、iOS16やiPadOS 16に対応し、バイナリの軽量化と高速化が図られたほか、マルチプラットフォーム対応のためにSwiftやSwiftUIとの連携性が強化されました。

【参考】:Apple Developer Xcode 14 【参考】:Apple Developer ニュースとアップデート Xcode 14 (14A309)

IDEとは?詳細やメリット、おすすめのIDEを紹介します!

そもそもXcodeとは

Xcodeとは、Appleの提供する統合開発環境(IDE)を表します。macOSやiOSなどのApple製品のアプリケーション開発に用いられます。グラフィカルツールを用いて統一されたユーザーインターフェース(SwiftUI)の設計を行うことができます。

Xcodeでは他の統合開発環境と同様に、プロジェクトを作成して開発を行います。画面上のツールバーと編集エリアを用いてコード作成を行います。

エディタのほか、コンパイラ、リンカなどのビルドシステムで構成されており、コードの実行やテスト・デバッグが一元化されます。再利用コードはSwiftのパッケージにまとめることができます。

Appleの開発言語であるSwiftとユーザーインターフェースのSwiftUIは、統合開発環境のXCodeで連携し、効率的に動作します。

【参考】:Apple Developer Xcode 【参考】:Apple Developer Xcode リソース 【参考】:Apple Developer Swift 【参考】:Apple Developer SwiftUI

SwiftUIとは?従来のUIとの違い、メリットや将来について

Xcode 14の新機能の詳細

img_xcode14_02

Xcode 14では、最新のAppleデバイス向けのソフトウェア開発キット(SDK)を収録しています。具体的には、iOS 16、iPadOS 16、tvOS 16、watchOS 9、macOS Monterey 12.3に対応します。iOS 11以降、tvOS 11以降、watchOS 4以降のAppleデバイスの開発では、オンデバイスデバッグに対応します。

以降では、いくつかのトピックスについて詳しく解説していきます。

【参考】:Xcode 14 Release Notes

マルチプラットフォームの対応強化

Xcode 14では、ターゲット向けに開発したソフトウェアに、特定のプラットフォーム用の依存関係やコード、リソース・ビルド設定を条件を付けて同梱することができます。これにより、1つのターゲット向けのソフトウェアで複数のプラットフォームをサポートすることができます。

このほか、watchOS アプリ用のデフォルトテンプレートも同梱され、watchOSアプリのデプロイが簡素化できます。

ドライバ開発環境の整備

Xcode 14では、最新のDriverKit 22が提供されます。DriverKit 22では、iPadOS 16以降向けに、DriverKitがサポートされます。iPadOS用のUSBやオーディオなどのドライバを、DriverKitを利用して開発することができます。

ビルドシステムの性能向上

ビルド時の性能向上のために並列処理を強化しました。具体的には、並列処理に関するビルド時のログを生成し、並列度の状況を可視化できます。バイナリの軽量化とビルドの並列化により、パフォーマンスが向上しています。

Swiftも、フロントエンドの呼び出しをオーケストレーションするコンポーネントドライバが、Xcodeのビルドシステムに統合されています。この変更で、ビルドシステムのタスクやスケジューリングに対してきめ細かい依存関係が設定できます。この改良により、並列コンパイルを効率的に実施できます。

Swift入門!概要・基本文法・学習方法について徹底解説!

コンパイラの機能実装

Apple Clangの実装強化に伴い、新規プロジェクトの作成時には、C++20の言語機能をデフォルトで使用します。C++20の仕様については、次の言語機能が実装されました。

P0692R1:Access Checking on Specializations  クラステンプレート特殊化に関するアクセスチェック 【参考】:ISO/IEC Access Checking on Specializations

P0388R4:Permit conversions to arrays of unknown bound  境界が不明な配列へのコンバージョン許可 【参考】:ISO/IEC Permit conversions to arrays of unknown bound

C++23の言語機能であるC++2bからは、以下の機能が実装されました。

P1938R3:if consteval  コンパイル時の文脈にしたがう分岐 【参考】:Open Standard - if consteval

P1401R5:Narrowing contextual conversions to bool  コンテキスト変換の bool への絞り込み(縮小変換) 【参考】:Open Standard - Narrowing contextual conversions to bool

P1949R7:C++ identifier syntax using Unicode Standard Annex 31  Unicode Standard Annex 31 を使用した C++ 識別子構文 【参考】:Open Standard - C++ Identifier Syntax using Unicode Standard Annex 31

P2360R0:Extend init statement to allow alias declaration  エイリアス宣言を可能にする init 文の拡張 【参考】:ISO/IEC P2360R0: Extend init-statement to allow alias-declaration

上記実装は、Clang 14.0で実装される機能です。ClangでのC++の対応状況は、以下のサイトでご確認ください。

【参考】:C++ Support in Clang 【参考】:Clang 14.0.0 Release Notes

Bitcodeを用いたビルドのサポート終了

Xcode 14 から、中間コードのBitcodeはwatchOSとtvOSのアプリケーションに必要がなくなり、アプリがApp Storeに提出される際にコードが取り除かれます。

そのため、Bitcodeは非推奨となり、プロジェクトが明示的にBitcodeを有効にすると警告メッセージが表示されます。Bitcodeのビルド機能は、将来のXcodeリリースで削除される予定です。

Xcodeの関連情報

img_xcode14_03

Xcode 14の登場で、最新バージョンや今後のリリース、Xcode 13との違い、各バージョンの違いなどについてもご興味が沸いたのではと思います。ここでは、Xcodeに関する情報をまとめて紹介していきます。

【参考】:Xcode Documentation

Xcodeの最新バージョン

Xcodeの最新バージョンは、14.0.1です。macOS Monterey 12.5以降の開発環境で動作します。iOS 16、macOS 12.3、tvOS 16、watchOS 9、DriverKit 22用のSDKが同梱されます。

ベータ版として公開される14.1では、リリース準備中のiOS 16.1、macOS 13、tvOS 16.1、watchOS 9.1、DriverKit 22.1用のSDKが同梱されます。

Xcode 14.0.1と14.1ともに、Swift 4やSwift 4.2、Swift 5.7に対応し、Xcode 14に合わせて公開開始したSwift 5.7が収録されます。

【参考】:Apple Developer Xcodeの新機能

Xcode 14とXcode 13との違い

Xcodeは、年次でメジャーバージョンアップが行われています。前バージョンとなるXcode 13は、2021年9月20日にリリースされました。およそ1年経過しており、Xcode 14では最新のAppleデバイスへ対応します。

具体的には、iOSとiPadOSが15から16へ、macOSが11.3や12から12.3へ更新され、対応するソフトウェア開発キット(SDK)が収録されます。合わせてプログラミング言語のSwiftも、5.5から5.7へ更新されています。

Xcodeのサポート対応表

Xcodeを用いたアプリケーション開発ですが、以下のAppleデバイスの各バージョン向けに開発できます。ここでは、Xcode 14とベータ版が公開されているXcode 14.1についてまとめておきます。

Appleの公式サポートサイトには、Xcode 10.2.xから最新ベータの14.1まで、サポート対応表が掲載されています。合わせてご確認ください。

【参考】:Apple Developer Xcode サポート情報

iOS  Xcode 14.0.x :iOS 11~16  Xcode 14.1 :iOS 11~16.1

iPadOS  Xcode 14.0.x :iPadOS 13~16  Xcode 14.1 :iPadOS 13~16.1

macOS  Xcode 14.0.x :macOS 10.13~12.5  Xcode 14.1 :macOS 10.13~13

tvOS  Xcode 14.0.x :tvOS 11~16  Xcode 14.1 :tvOS 11~16.1

watchOS  Xcode 14.0.x :watchOS 4~9  Xcode 14.1 :watchOS 4~9.1

DriverKit  Xcode 14.0.x :DriverKit 19~22  Xcode 14.1 :DriverKit 19~22.1

Xcodeのダウンロード方法

Xcodeは、macOS Monterey 12.5以降で動作します。該当バージョンを搭載するMacを用いて、Mac App Storeやデベロッパーダウンロードサイトからインストールし、利用します。

【参考】:Apple Developer Download 【参考】:Mac App Storeプレビュー

Xcodeのバージョンアップでメリットを享受しましょう

img_xcode14_04

これまでAppleは、新製品発表時に対応OSをリリースしています。Xcodeはバージョンアップを通じて、新製品デバイス向けのアプリ開発に利用できます。今後も、Appleのイベントやデベロッパー情報を確認し、更新情報を確認することをおすすめします。

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT