Xcode 15.2が2024年1月8日にリリースされました。通常であれば、翌日には気がつくのですが、今回は年始の忙しさで昨日(12日)になって、ようやく気がつきました。
この記事ではXcode 15.2のリリースノートを元に、変更点の中から知っておいた方が役に立つと思われる項目を紹介します。
この記事で取りあげていない項目も含めて、全変更内容を見たい方は直接リリースノートを参照してください。
動作環境について
動作環境はXcode 15.1と同じで以下の通りでした。
- macOS Ventura 13.5以降
他のバージョンのXcodeの動作環境を知りたい方は、次の記事を参照してください。
visionOSアプリ開発への対応
Xcode 15.2の一番大きな変更点は、visionOSアプリ開発への正式対応だと思います。米国でのApple Vision Proの発売日や価格が公表され、いよいよアップルの空間コンピューティングという新しいプラットフォームが登場します。
米国では2024年2月2日から販売開始で、予約は1月19日から受け付けるそうです。Apple Store全店舗とオンラインストアで販売するそうですが、日本ではまだ未定です。
思い返してみると、iPhoneも当初は日本では販売されず、米国でしたね。初代は日本では発売もしなかった。
空間コンピューティングという呼称
空間コンピューティングという呼称ですが、別のメーカーが開発しているデバイスではMRやXRと呼ばれています。Apple Vision Pro が実現しているものは完成度が全く異なるということかなと思います。Apple自身も次の記事でそのように呼ばないで欲しいと書いていますので、本記事も空間コンピューティングと呼称します。
Spatial computing: Refer to your app as a spatial computing app. Don’t describe your app experience as augmented reality (AR), virtual reality (VR), extended reality (XR), or mixed reality (MR).
Submit your apps to the App Store for Apple Vision Pro – Apple Developer
https://developer.apple.com/visionos/submit/
visionOSアプリ開発にはApple Silicon Macが必要
Appleは2年間かけて、Intel MacからApple Silicon Macへ移行するということを当初より掲げていました。その2年間は昨年で過ぎています。
それもあるのか、visionOSアプリ開発にはApple Silicon Macが必須となっています。Xcode 15.2のリリースノートにも以下の記載があります。
General
Xcode 15.2 Release Notes
Notes
Developing for visionOS requires a Mac with Apple Silicon. (114799042)
https://developer.apple.com/documentation/xcode-release-notes/xcode-15_2-release-notes
移行期間を過ぎているという経営判断の他に、開発環境(特にシミュレータ)にも強いGPUが必要というテクニカルな理由もありそうです。
いずれにしても、Apple Silicon Macが必要なので、Intel Macで開発されている方は、これを機会に移行を検討されてはいかがでしょうか。
既知のイシューと回避策
不具合修正の他、Xcode 15.2でもいくつかの既知の問題・イシューが記載されており、同時に回避策も提示されています。
watchOSの1件を除いて、visionOS関連のものでした。
アプリアイコンは1024x1024px未満のときに問題が起きる
1024px未満だとビジュアルエフェクトが適用されないが、警告が表示されない。
回避策は、以下の通りです。
- visionOSアプリのアイコンは全レイヤー必ず、1024x1024px(@2x)で作成する。
- 「Center in Canvas」と「Match Content Image」をアセットカタログの中で有効化する。
- これらのオプション設定はレイヤーごとに行う。
Base SDKがiOSのときに実行先設定とSDKの使用間違い
ビルド設定のBase SDKがiOSのときに、”Any visionOS Device”が”Any visionOS Device (Designed for iPad)”と表示されてしまう。ビルドに使用されるSDKもiOS SDKが使われてしまう。
回避策は、ビルド設定のBase SDKをvisionOSに変更する、です。
visionOS上でTestFlightビルドからiOSアプリを実行するとクラッシュ
visionOS上でTestFlightビルドからiOSアプリを実行すると、クラッシュするが、オーガナイザーのクラッシュセクションに表示されない。
回避策は以下の通りです。
- App Store ConnectのApp Storeページの「Pricing and Availability」セクションから、visionOSのチェックを入れる。
visionOS Simulatorでのアプリの初回インストール時に失敗することがある
回避策は、再ビルドと再実行です。
シミュレータでwatchOSアプリを実行するときにエラーになる
実行先の設定がiPhoneシミュレータ経由になっているときに、WatchAppのペアとなるiOSアプリのインストールが失敗することがあり、「An application bundle was not found at the provided path」というエラーが表示される。
回避策は、実行先をWatch Simulator単体にして実行する、です。