3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

iOS & iPadOS 15 リリースノート日本語訳

Last updated at Posted at 2022-01-19

iOS & iPadOS 15 リリースノート

新機能を利用し、APIの変更をテストするためにアプリをアップデートしてください。


概要

iOS & iPadOS 15 SDKは、iOS & iPadOS 15を実行するiPhone、iPad、及びiPod touchデバイス用のアプリを開発するためのサポートを提供します。
SDKはMac AppStoreから入手できるXcode 13にバンドルされています。
Xcode 13の互換性要件についてはXcode 13リリースノートを参照して下さい。

App Store

新機能

  • StoreKit 2はSwiftの同時実行性などの新しい言語機能を利用する最新のSwiftベースのAPIを導入しています。このAPIを使用して、製品情報の読み込み、ストアでのアプリ内購入の表示、顧客による購入の許可、コンテンツとサブスクリプションへのアクセスの管理、およびAppStoreによって署名されたトランザクション情報をJSONWeb署名(JWS)形式で受信します。(66587964)
  • Productのrequest(with:)メソッドはproducts(for:)メソッドへと名称変更されました。
  • Product.SubscriptionInfo.StatusStorefrontTransactionリスナータイプのプロパティが、それぞれupdatesupdatesになりました。 ネストされたAsyncSequence準拠構造は、Transaction.TransactionsProduct.SubscriptionInfo.Status.Statuses、およびStorefront.Storefrontsになりました。 TransactionSequenceとTransactionListenerの両方がTransaction.Transactionsになりました。 (79034347)
  • StoreKitError.userDidNotAuthenticateは使用できなくなりました; 代わりにStoreKitError.userCancelledを使用してください。(78270199)
  • カスタムデコード用の生のJSONデータにアクセスできるようになりました。
  • 新しいタイプのプロパティunfinishedTransactionで利用できるようになりました。これは、アプリが引き続きコンテンツをユーザーに配信する必要があるトランザクションの署名付き情報を返します。 (79620896)
  • 新しいonStorefrontChange(shouldContinuePurchase:)がStoreKit 2で利用可能になりました。この購入オプションを使用して、トランザクション中にAppStoreストアフロントが変更された場合にトランザクションを続行するかどうかを決定できます。 このオプションが追加されていない場合、デフォルトはtrueです。 (70757789)
  • VerificationResult.unverified(SignedType)はVerificationResult.unverified(SignedType、VerificationError)になり、未検証の符号付き値の理由を提供します。 jsonRepresentationTransactionで利用でき、jsonRepresentationrenewalInfoで利用できます。 どちらのプロパティも、ペイロードJSONをデータとして提供します。 符号付きの値にアクセスするのに便利なように、payloadValueプロパティとunsafePayloadValueプロパティをVerificationResultで使用できます。 (80701792)

解決された問題

  • サンドボックス環境で実行された購入がVerificationResult.unverified(_ :_ :)を返す問題を修正しました。 (71949674)

既知の問題

  • unfinishedプロパティが、すでに終了したトランザクションに対してVerificationResult<Transaction>を返す場合があります。 (81346114)

Audio Units

新機能

  • Audio Unitsは、Audio UnitホストがiOSで表示できるカスタムビューを提供するようになりました。 AUAudioUnitにユーザーインターフェイスがあるかどうかを判断するには、providesUserInterfaceプロパティを使用します。 requestViewController(completionHandler:)メソッドを使用して、viewAUViewControllerを取得してください。 カスタムビューは、tintColorプロパティを介したビューの色合いの設定をサポートしています。 これを使用して、ビューの色をトラックごとに異なる色に設定したり、アプリの外観に一致させたりすることができます。 (74183251)

AVFoundation

新機能

  • iPadOSアプリは、複数のウィンドウを表示し、画面上の唯一のアプリケーションである間も、引き続きカメラを使用できるようになりました。

非推奨

Core Haptics

新機能

  • CHHapticEventTypeAudioContinuousCHHapticEventTypeHapticContinuous、およびCHHapticEventTypeAudioCustomtypeのイベントは、一時停止したCHHapticAdvancedPatternPlayerが再開した場合、イベントの途中で再生を再開するようになりました。 seek(toOffset:)が特定の時間オフセットでプレーヤーを開始した場合、これらのイベントはイベントの途中で開始されません。 (29274583)
  • タイプリソースにボリュームエンベロープを適用するかどうかを制御できるようになりました。デフォルトでは、これらのリソースは、クリックを回避するために、最初に信号をランプインし最後にランプアウトするビルトインボリュームエンベロープで再生されます。 (75491090)
    ボリュームエンベロープは、次のいずれかの方法で適用できます。

Core ML

既知の問題

  • automatic reference counting(ARC)モードでは、.dataPointerプロパティを使用すると、コンパイラがMLMultiArrayのライフタイムを予想よりも長くする場合があります。 これにより、メモリ使用量が増える可能性があります。 (80895213)
    回避策:.dataPointerアクセスを@autoreleasepool {...}ブロックで囲みます。

Create ML

新機能

  • Create MLフレームワークがiOS & iPadOS15で利用できるようになり、デバイス上のMLを活用するダイナミックなアプリ体験を構築するための新しい機会が得られるようになりました。 画像分類、音声分類、テキスト分類、手の形と手の動きの分類のためのタスクフォーカス型のAPIが、古典的な表形式の分類と回帰のためのAPIとともに利用できます。(37087332)
  • Audio Feature Print-based MLSoundClassifierアルゴリズムは、サウンド分類モデルをより高速に、より精密に、より低いレイテンシーで、より小さなモデルサイズでトレーニングします。 このアルゴリズムは、Create MLのMLSoundClassifierのデフォルトオプションになりました。(70106630)

Debugging

既知の問題

  • macOS 11を実行しているAppleシリコンを搭載したMacのデバイスシミュレータで実行されているiOSアプリでディスパッチセマフォを使用すると、アプリがクラッシュします。(81783378)
    回避策:Xcodeで、[製品]> [スキーム]> [スキームの編集]を選択し、[実行]> [オプション]> [キューのデバッグ]> [バックトレース記録を有効にする]の選択を解除します。

Find My

既知の問題

  • iOSデバイスを充電する必要がある場合、Find Myネットワークがアクティブであることを示すテキストは、デバイスの言語が英語に設定されている場合にのみ表示されます。(78547946)

Guided Access

既知の問題

  • VoiceOverでガイドアクセスを使用する場合、ガイドアクセスを終了するためのガイドアクセスパスコードを入力できない場合があります。(79370792)
    回避策:デバイスのパスコードが設定されている場合は、デバイスを強制的に再起動してガイド付きアクセスを終了します。

Home

既知の問題

  • Threadを使用するMatterアクセサリとペアリングすることはできません。(80991829)
  • アクセサリがすでに別のアプリとペアリングされている場合、アプリのペアリングフローを通じてサードパーティのアプリをMatterアクセサリとペアリングすることはできません。(80059432)
    回避策:他のアプリからアクセサリのペアリングを削除してから、サードパーティのアプリをペアリングします。
  • Apple Homeを作成していない場合、Matterアクセサリを使用してサードパーティアプリにフローを追加することはできません。(80058744)
    回避策:フローを追加する前に、Homeアプリを起動してHomeを作成します。
  • Apple TVがWi-Fi経由で接続されている間は、Matterアクセサリにアクセスできません。(79582629)
    回避策:イーサネット経由でAppleTVを接続します。
  • Matterアクセサリは、ペアリング後に無応答状態になる場合があります。(76019163)
    回避策:アクセサリをHomeから削除し、アクセサリをリセットして、Homeに追加し直します。問題が解決しない場合は、HomeハブをHomeから削除して再度追加します。それでも問題が解決しない場合は、Homeを削除して新しいHomeを作成します。
  • Matterアクセサリとの最初のペアリングの試行には、予想外に長い時間がかかり、最終的に失敗する可能性があります。(77967587)
    回避策:アクセサリのペアリングを再試行してください。
  • 1つのHomeでペアリングできるMatterアクセサリは最大5つまでです。(77967671)
  • Matterアクセサリをペアリングできるのは、招待されたユーザーではなく、Homeの所有者だけです。(76012945)

Home Screen

既知の問題

  • ウィジェットギャラリーでの検索をキャンセルした後、キャンセルボタンは表示されたままになり、ウィジェットギャラリーが空白になる場合があります。(78572049)
    回避策:ウィジェットギャラリーを閉じて再度開きます。

iCoud

新機能

  • iCloud Private Relayは、追加のフィードバックを収集し、Webサイトの互換性を向上させるために、パブリックベータとしてリリースされます。(82150385)

既知の問題

  • Legacy ContactsはiOSおよびiPadOS15 beta 5から削除され、将来のリリースで復活する予定です。 (81292885)
  • 「+」や「-」などの区切り文字を含むカスタムメールドメインアドレスは設定できません。 (82425376)
  • 別のiTunesアカウントに関連付けられているカスタムメールドメインアドレスは設定できません。 (82358431)
  • 一部のアカウントは、カスタムメールドメインの対象とならない場合があります。 (82421769)

Foundation

新機能

  • Foundationには、自動文法一致エンジンが含まれるようになりました。 これにより、ローカライズされた文字列が自動的に活用されて、複数形、文法的な性別の一致、およびユーザーの住所の用語との一致が考慮されるため、コードが簡素化され、提供するローカライズされた文字列の数が減ります。 英語とスペイン語で利用できます。 (70210115)
  • フォーマットAPIが利用可能になりました。これは、フォーマットに重点を置き、フォーマッターインスタンスを作成、構成、およびキャッシュする必要をなくします。 各Formatterタイプには、フォーマットされた関数があります。 これらの関数には、スタイルの設定とカスタマイズを可能にする引数があります。 (70220307)
  • JSONSerializationJSONDecoderは、JSON5からのデコードをサポートするようになりました。 (73954652)
  • SortDescriptorKeyPathComparator、およびSortComparator APIは、値を並べ替えるためのアーカイブ可能なルールを表現するためのSwiftインターフェイスを提供します。 (74264359)

Logging

新機能

  • Swiftのos_signpost(_:dso:log:name:signpostID:)は、すべてのプラットフォームのフレームワークOSの一部です:
    • サブシステムとカテゴリ、既存のOSLogオブジェクト、または既存のLoggerオブジェクトを使用してOSSignposterをインスタンス化します。
    • OSSignposter APIは、Signpostsを出力するためのメソッドを提供します。 beginInterval(_ :id:)は開始Signpostsを出力し、endInterval(_ :_ :)は終了Signpostsを出力し、emitEvent(_:id:)はイベントSignpostsを出力します。 これらは、Stringとvarargsに基づく既存のos_signpost呼び出しを置き換えます。
    • APIは、メタデータパラメーターの文字列補間をサポートします。 文字列補間は、Logger APIsで受け入れられるものと同じです。
    • OSSignposter APIは、すべてのフォーマットおよびプライバシーオプション(以前はos_signpost関数によって提供されていた)をサポートし、Logger APIsと同じ構文に従います。
    • APIは、従来のAPIよりもパフォーマンスが向上しています。
    • OSSignposterタイプは、コードのブロックを開始および終了のSignposts、withIntervalSignpost(_ :id:_:around:)で囲むための新しいスコープAPIを提供します。
  • 注: これらのAPIは、iOS14およびiPadOS14以前では使用できません。 ただし、既存のos_signpostAPIは引き続き使用できます。 (54756831)

Maps

既知の問題

  • 丸みを帯びた建物の角が消える場合があります。 (80468151)

非推奨

Networking

新機能

  • URLSessionが送信するデフォルトのAccept-Languageヘッダーの形式が更新され、複数のロケールの値が修正されています。 優先言語に加えて、ヘッダーには、優先言語と異なる場合のフォールバックとして現在のシステム言語も含まれます。 この動作は、macOS 12、iOS 15、tvOS 15、およびwatchOS 8SDKに対してリンクするアプリに影響します。 (38772422)

  • URLSessionに非同期関数が含まれるようになりました。 (68890254)

For example, a one-shot fetch:

let (data, response) = try await URLSession.shared.data(from: URL(string: "https://www.apple.com")!)
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
   // Use data.
}

And support for an AsyncSequence stream of bytes:

let (bytes, response) = try await URLSession.shared.bytes(with: URL(string: "https://www.apple.com")!)
if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
    for try await line in bytes.lines() {
        // Parse line.
    }
}

非推奨

  • プロキシ自動設定(PAC)のクリアテキストHTTP URLスキームのサポートは非推奨になりました。 PACにはHTTPS URLスキームのみを使用してください。 これは、設定、システム環境設定、プロファイル、およびconnectionProxyDictionaryCFNetworkExecuteProxyAutoConfigurationURL(_ :_ :_ :_ :)のようなURLSession APIなどを介して設定されたすべてのPAC構成に影響します。 クリアテキストのHTTP PAC URLを構成すると、PACファイルのロード中にシステムがHTTPSにアップグレードする場合があります。 DNSを介したWebProxy Auto-Discovery(WPAD)プロトコルは影響を受けません。 Dynamic Host Configuration Protocol(DHCP)Option 252 WPADは、PACファイルのロード中にクリアテキストHTTP URLをHTTPSにアップグレードしようとする場合があります。 (61981845)

Privacy

新機能

  • App Privacy Reportのアプリコンテンツを表示するファイルをダウンロードするには、[設定]> [プライバシー]> [アプリのアクティビティを記録]を選択します。(77758720)

Reality Composer

既知の問題

  • Reality Composerで新しいプロジェクトを作成できない場合があります。 (79418400)
    回避策:macOSのReality Composerで新しいプロジェクトを作成し、AirDropまたはMailを介して.rcprojectファイルをデバイスに転送します。

Safari

新機能

  • 下部のタブバーは、ページコンテンツの下に表示されるように再設計されています。 上部にアドレスバーを表示するオプションも利用できます。 (81118141)

既知の問題

  • iPhoneのSafari Web Extensionポップオーバーの入力フィールドをタップすると、拡張機能UIが上に移動してキーボード用のスペースが確保されない場合があります。 (81676564)

SharePlay

非推奨

  • beta 7および今後のbetaリリースでのSharePlay開発には、更新されたSharePlay Development Profileのインストールが必要です。 このプロファイルにより、iOS 15、iPadOS 15、tvOS 15 beta 7、およびmacOS Monterey beta 6のGroup Activities APIを介してGroupSessionsを正常に作成および受信できます。(81816137)

ShazamKit

既知の問題

  • SHMediaLibraryのデフォルトインスタンスに追加されたメディアアイテムは、Shazamに表示されません。 (77785557)
    回避策:音楽認識コントロールセンターモジュールを長押しして、SHMediaLibraryのコンテンツを表示します。

Siri

既知の問題

  • VoiceOverおよびSpoken Contentのユーザーは、最初は利用可能なすべての音声オプションを表示できない場合があります。 音声オプションは、しばらくすると入力されます。 (79463000)
  • デバイス上の音声認識は、中国語(マンダリン - 中国本土)、英語(オーストラリア)、英語(カナダ)、英語(英国)、および英語(米国)のみをサポートします。 (78483609)

SKAdNetwork

新機能

  • 開発者が獲得ポストバックを受け取ることを選択した場合、デバイスは、宣伝されたアプリの開発者に獲得ポストバックのコピーを送信できるようになりました。 (75054513)

Swift

New Features

  • 新しいSwiftの値タイプAttributedStringが、Swift文字列と同じ文字カウント動作で使用できるようになりました。 完全にローカライズ可能で、Markdown、Codable、強く型付けされた属性などのサポートも含まれています。 (27227292)
  • NotificationCenterは、async/awaitを使用して通知を受信するための新しいAsyncSequence APIを含んでいます。 (74401384)
for await note in NotificationCenter.default.notifications(named: .MyNote) {
    // Use note.
}

既知の問題

  • Combineに依存するSwiftライブラリは、armv7およびi386アーキテクチャを含むターゲット用にビルドできない場合があります。 (82183186、82189214)
    回避策:影響を受けない更新バージョンのライブラリを使用するか(利用可能な場合)、armv7およびi386のサポートを削除します(たとえば、ライブラリの展開ターゲットをiOS 11以降に増やします)。
  • iOS 15またはmacOS 12 SDKを使用してRealityKitにリンクしているアプリケーションは、以前のOSでは起動できません。 (79584511)
    回避策:Xcodeプロジェクト設定にOTHER_LD_FLAGS = -weak_framework RealityFoundationを追加して、古いOSでRealityKitアプリを実行できるようにします。

Settings

既知の問題

  • Sound Actions機能がSwitch Controlの一部として機能している間、設定アプリのPracticeとマークされた領域でサウンドが検出されません。 (82411537)

SwiftUI

新機能

  • LocalizedStringKeyにMarkdown構文を含めることができるようになりました。 LocalizedStringKeyからTextビューを作成すると、文字列リテラルで作成されたTextビューを含め、マークダウン文字列が解析されます。 システムは、Markdown構成に従ってTextのスタイルを設定します。 (74515884)
  • AttributedString構造からTextを作成できます。 Textは、SwiftUI属性スコープ内の属性を介して提供するスタイルを尊重します。 これらのスタイルは、ビュー修飾子を介して提供するスタイルよりも優先されます。 (74841755)
  • 特定の種類のアニメーションがメインスレッドから実行されるようになったため、新しいスレッドセーフ要件があります。 (70524799)
    次の関数とタイプがスレッドセーフであることを確認してください:
  • NSFormatterが提供するTextFieldは、ユーザーが入力するとバインディングを更新するようになりました。 NSFormatterは、ユーザーがフィールドを送信したとき、またはフォーカスがフィールドから離れたときに、フィールドのテキストをフォーマットします。 (67899823)
  • DisclosureGroupは、行をタップしたときに展開を切り替えるようになりました。 (62208702)
  • デフォルトのListStyleinsetGroupedになりました。 (75072988)
  • TextFieldラベルは、フォームのフィールドの横には表示されません。 プロンプトパラメータを使用して、フィールドの明示的なプレースホルダーを指定します。 (61260160)
  • FormatStyleを使用してTextを初期化できるようになりました。 (72159423)
  • 検索中に、searchCompletion(_ :)修飾子を使用する提案をタップすると、選択した単一の提案が表示されるのではなく、提案リストが非表示になります。 (76965399)
  • 以前のtitleパラメーターの代わりにpromptパラメーターを使用して、検索可能な修飾子が構成する検索フィールドのプロンプトをカスタマイズできるようになりました。 (77988967)
  • SwiftUIはtextSelection修飾子をサポートするようになりました。 (77827592)
  • 境界線の付いたボタンの形状を制御するために使用できるbuttonBorderShapeが追加されました。 (79456465)
  • 新しいAttributedString属性underlineStylestrikethroughStyleAttributeScopes.SwiftUIAttributesに追加しました。 (78437803)
  • Animatableプロトコルに準拠し、さらにViewまたはViewModifierプロトコルのいずれかに準拠するタイプは、値が変更されたときにアニメーションを適用するようになりました。 その結果、AnimatableModifierプロトコルはソフト非推奨になりました。 最新のOSバージョンをターゲットにする場合は、Animableを直接使用します:例えば、struct CustomModifier:AnimatableModifierではなく、struct CustomModifier:ViewModifer, Animatableを使用します。 (76971100)
  • contentShape(_ :eoFill:)修飾子により、さまざまな種類のシェイプをきめ細かく制御できるようになりました。 ドラッグプレビュー、ホバーエフェクト、およびコンテキストメニューの場合、iOS 15.0以降でリンクされたときにプレビューの形状に影響を与えるには、一致するContentShapeKindsが必要です。 デフォルトの動作は、interactionの種類を設定することです。 (60792377)
  • openURLの環境値は、LinkビューでのURL処理やTextビューに埋め込まれたリンクなど、ビュー階層でのURL処理をカスタマイズするために設定し使用できるようになりました。 (78551237)
  • Taskは、新しいタスクを生成するとき、使用される優先度を渡すことができるようになりました。 (80599258)
  • 過剰な行の高さの文字を含むTextビューでは、サイズの大きい文字のクリッピングやオーバーラップを回避するために、デフォルトサイズが大きくなりました。 (80665315)
  • isDetailLink(false)を使用するiPadのサイドバーのNavigationLinkは、詳細エリアではなくサイドバーに正しくプッシュするようになりました。 (80919171)

既知の問題

  • OutlineGroupへのバインディングを提供するには、init(_ :children:content:)のキーパスパラメーターにwrappedValueを含める必要がある場合があり、iOS & iPadOS 14以前では使用できません。 (77890799)
  • FocusStateを使用して新しく追加されたList行にビューをフォーカスするには、メインの実行ループが次に実行されるときにフォーカス状態プロパティの更新を延期する必要があります。 (78607356)
  • Listは、SwiftUIのセーフエリアインセットを尊重しなくなりました。 (82295913)

非推奨

  • controlProminenceは非推奨になりました。 代わりに、新しい.borderedProminent ButtonStyleを使用してください。 (78908460)
  • 関数(Fn)ショートカット修飾子は非推奨になり、システムで使用するために予約されています。 (78627099)

TabularData

新機能

  • TabularDataは、表形式データの分析と操作に使用する新しいSwiftフレームワークです。 DataFrameを使用して、CSVファイルとJSONファイルを読み取ったり、データを結合、グループ化、集計したりできます。 (69982458)

UIKit

新機能

  • iOS 15 beta SDKに対してコンパイルされたアプリの場合、テキストビューとテキストフィールドに入力するときに、キーコマンドがテキスト入力とテキスト編集コマンドをインターセプトすることはなくなりました。 たとえば、Deleteキーを押すと常に文字が削除され、Deleteキーコマンドが存在する場合もトリガーされません。 キーコマンドがテキスト入力をインターセプトするようにするには、キーコマンドでwantsPriorityOverSystemBehaviorプロパティをtrueに設定します。 これは、矢印やタブキーの押下などのフォーカスキーボードナビゲーションコマンドよりもキーコマンドを優先させるためにも必要です。 (55118263)
  • iOS 14およびiPadOS 14以前では、autocorrectionTypeUITextAutocorrectionTypeNoに設定されている場合、QuickTypeバーは無効になります。 iOS 15およびiPadOS 15以降に対してリンクされたアプリの場合、QuickTypeバーが有効になり、スペルチェックの候補が表示されます。 新しい動作がユースケースにとって望ましくない場合は、spellCheckingTypeUITextSpellCheckingTypeNoに設定して、QuickTypeバーを非表示にします。 (68874861)
  • iOS 15 beta SDKを使用してコンパイルすると、いくつかのキーウィンドウ関連のプロパティ、メソッド、および通知の動作が変わります:
    • isKeyWindowは、ウィンドウがアプリではなくシーンのキーである場合にtrueを返します。
    • becomeKeyWindowは、シーンの中でウィンドウがアプリからキーになったときに呼び出されます。
    • didBecomeKeyNotificationは、ウィンドウがアプリではなくシーンのキーになったときに通知します。
    • resignKeyWindowは、ウィンドウがアプリからシーン内のキーウィンドウステータスでなくなったときに呼び出されます。
    • didResignKeyNotificationは、ウィンドウがアプリではなくシーン内のキーウィンドウステータスでなくなったときに通知します。 (72873846)

Xcode

既知の問題

  • 音楽リクエストを含むコンテンツの読み込みなどのMusicKit機能は、シミュレートされたデバイスでは機能しません。 (78559381)
3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?