今年WWDC 2019が開催されてから、すでに約1か月近くが経過しています。すべての開発者は、Apple が開発のために追加または更新した新しいものについてまだ忙しくしています。大きな発表と小さな発表がありましたが、私たち開発者は重要なことを見逃さないようにする必要があります。そのため、見逃してはならない項目の簡単なチェックリストを作成しています。短く、簡潔に、シンプルにしましょう。
iOS:
<オール>
iOS 13 では、アプリケーションの場所へのアクセスを 1 回だけに制限できます。これまでは、「常に」「使用中」「使用しない」の 3 つの選択肢がありました。このリストにもう 1 つのオプション「Just Once」が追加されました。初めて、自分の位置情報をアプリと共有できます———一度だけ———そして、次回必要になったときに再度尋ねるように要求できます。
これは人気のある発表の 1 つかもしれません。人々はこれに熱狂しています。はい、「Apple サインイン」について話しています。そのため、アプリが別のサード パーティのサインインを既に提供している場合、アプリ開発者は同社の新しいシングル サインイン ソリューションを実装する必要があるというのが Apple の要件です。
モーダル ビュー コントローラをインタラクティブに閉じることができます。これにより、既存のアプリケーションの一部が壊れる可能性があります。 iOS 13 では、デフォルトで、ユーザーはモーダルを下にスワイプするだけで閉じることができます。したがって、新しいアプリケーションを開発するときは、この点を考慮してください。 isModalRepresentation = false
でこの動作を無効にすることができます .
UISegmentedControl
そして UIStepper
iOS 13 では、まったく新しい更新されたデザインで異なります。
Localization
への新しいアップデート iOS 13. 以降、ユーザーはデバイスにインストールされているアプリケーションごとに異なる言語を設定できます。開発者は、開発に関して何も変更したり検討したりする必要はありません、Settings
アプリケーションはあなたに代わって処理されます。
iOS 13 には、ほぼ 1500 の異なるシステム アイコンと UIImage
があります。 新しいイニシャライザ UIImage(systemName: )
を取得しました これにより、任意のシステム アイコンを初期化できるようになりました。
Safari で直接 downloads
に入る何かをダウンロードするまでは フォルダーですが、今年は Safari が更新され、デフォルトのダウンロード フォルダーを他のフォルダーに変更できます。USB ドライブも選択できます。
UIStoryboardSegue
の改善 . Apple は新しい IBSegueAction
を導入しました 修飾子。これで、追加のコンテキストとパラメーターを、初期化する必要がある宛先ビュー コントローラーに直接渡すことができます。
アプリは、状況に応じて特定の時間に予約情報を Siri に提供できるため、ユーザーは状況に応じて適切なアクションを実行できます。たとえば、ホテルの予約を確認したり、フライトのチェックインを促したり、レンタカーの返却をサポートしたりできます。
Core NFC フレームワークを使用すると、NDEF 形式のタグへの書き込みなど、アプリでタグの書き込みをサポートできるようになります。このフレームワークは、ISO 7816、MIFARE、ISO 15693、FeliCa などのネイティブ プロトコルを使用したタグの読み取りと書き込みもサポートしています。
コア データ ストアを CloudKit と同期して、アプリのユーザーがすべてのデバイスからデータにシームレスにアクセスできるようにします。 Core Data with CloudKit は、ローカル永続性の利点とクラウド バックアップおよび配布を組み合わせます。
Metal により、GPU はグラフィックスと計算パイプラインをさらに細かく制御できるようになり、高度な GPU 処理をより簡単に実行できるようにする機能が追加され、さまざまな種類の GPU をサポートするために必要な作業が簡素化されます。シミュレーターでの Metal サポートを含む新しいツールは、より迅速に開始し、iOS アプリが Metal を正しく使用しているかどうかを理解するのに役立ちます。
新しい VisionKit フレームワークを使用すると、Notes アプリでキャプチャしたドキュメントと同様に、アプリでデバイスのカメラを使用してドキュメントをスキャンできます。この機能を Vision のテキスト認識と組み合わせて、スキャンしたドキュメントからテキストを抽出します。
Core ML 3 はデバイス上でのモデルのパーソナライゼーションをサポートするようになりました。これにより、アプリ内から非公開でユーザー固有のデータを使用してモデルを再トレーニングまたは微調整することで、モデルを更新できます。 Core ML は、100 を超えるレイヤー タイプを備えた動的ニューラル ネットワークのサポートも大幅に拡張しました。
新しい PencilKit フレームワークにより、手描きのコンテンツをすばやく簡単にアプリに組み込むことができます。 PencilKit は、Apple Pencil またはユーザーの指からの入力を受け取り、iOS または macOS で表示する高品質の画像に変換する iOS アプリ用の描画環境を提供します。この環境には、線を作成、消去、および選択するためのツールが付属しています。
MetricKit は、システムによってキャプチャされたアプリに関するオンデバイスのパワーとパフォーマンスの指標を提供する新しいフレームワークです。これを使用して、アプリのパフォーマンスを向上させることができます。
触覚パターンを作成して再生し、アプリの触覚フィードバックをカスタマイズできる新しい Core Haptics フレームワーク。
新しい Apple CryptoKit フレームワークを使用して、一般的な暗号操作を安全かつ効率的に実行します。たとえば、暗号的に安全なダイジェストの計算と比較、公開鍵暗号を使用したデジタル署名の作成と評価、対称鍵の生成、その他の操作での使用などです。メッセージの認証と暗号化
Combine は、時間をかけて値を処理するための宣言型 Swift API を提供する新しいフレームワークです。これらの値は、ユーザー インターフェイス イベント、ネットワーク応答、スケジュールされたイベント、およびその他の多くの種類の非同期データを表すことができます。結合では、変更可能な値を公開するパブリッシャーと、パブリッシャーからそれらの値を受け取るサブスクライバーを宣言します。結合を使用すると、イベント処理コードを一元化し、ネストされたクロージャーや規則ベースのコールバックなどの面倒な手法を排除することで、コードの読み取りと保守が容易になります。
新しい BackgroundTasks フレームワークを使用して、アプリのコンテンツを最新の状態に保ち、アプリがバックグラウンドにある間に長時間実行されるタスクを実行します。
RealityKit は、拡張現実アプリで使用する 3D コンテンツをシミュレートおよびレンダリングするための新しい Swift フレームワークで、AR エクスペリエンスにアニメーション、物理、空間オーディオを追加する機能が含まれています。 RealityKit は、ARKit が提供する情報を活用して、仮想オブジェクトを現実世界にシームレスに統合します。
シンボル画像は、アプリで使用するアイコンの一貫したセットを提供し、それらのアイコンがさまざまなサイズやアプリ固有のコンテンツに適応するようにします。シンボル イメージは、SVG 形式を使用して、鮮明さを失わずにスケーリングするベクトル ベースの形状を実装します。また、ウェイトやベースラインの配置など、テキストに通常関連付けられる多くの特性もサポートしています。
iOS 13 では、ユーザーはアプリのユーザー インターフェースの複数のインスタンスを同時に作成および管理し、アプリ スイッチャーを使用してそれらを切り替えることができます。 iPad では、ユーザーはアプリの複数のインスタンスを並べて表示することもできます。 UI の各インスタンスは、異なるコンテンツを表示するか、異なる方法でコンテンツを表示します。たとえば、カレンダー アプリでは、特定の日と 1 か月全体の予定を並べて表示できます。
SwiftUI は、iOS、macOS、watchOS、tvOS のユーザー インターフェースを構築するための最新のアプローチです。宣言型の構成ベースのプログラミングを使用して、これまで以上に高速に動的インターフェイスを構築できます。このフレームワークは、アプリのユーザー インターフェイスを宣言するためのビュー、コントロール、およびレイアウト構造を提供します。また、タップ、ジェスチャー、その他の種類の入力をアプリに配信するためのイベント ハンドラーと、アプリのモデルからユーザーが表示して操作するビューやコントロールまでのデータの流れを管理するツールも提供します。
音声コントロールのアクセシビリティ機能がオンになっている場合、iOS デバイスが音声コントロール モードであることを示す青色のマイク アイコンがデバイスの上部に表示されます。電話に注意を向けていないときは淡色表示のアイコン。
iOS 13 の新機能の 1 つは、SMB を使用してサーバーに接続するファイル アプリのオプションです。この機能は最初のベータ版では機能しませんでしたが、ベータ 2 では機能するため、iOS 13 ユーザーは自宅の NAS への接続などを行うことができます。
Safari 共有シートから Web ページを共有する場合、PDF または Web アーカイブとして共有するための新しいオプションがあります。各アプリまたはアクションに最適な形式を選択する「自動」オプションもあります。
迷惑電話はもうありません。 iOS 13 は、未知の発信者を厳密に黙らせることをサポートするようになりました。
iOS 13 では、UIImageAsset
で新しいメソッドを取得しました registerImage:withTraitCollection
という名前 プログラムで明暗の動的画像を作成するために使用できます。
低モバイル データで実行していますか?ローミング プランを使用しているときにデータ不足を回避するために、新しい「低データ」モードが追加されました。
Wi-Fi がない場合、サイズの大きいアプリのダウンロードが困難になることがあります。しかし、iOS 13 以降では、そこに一筋の光が見えます。制限が 200 MB に増えましたが、まだ十分ではありませんか?その後、[設定] で制限を解除できます。
元の情報を含む写真を他のユーザーと共有する。 iOS 13 では、共有時に元の情報を追加するオプションが提供されています。
お使いの iPhone をミュートしていただければ幸いです。 Apple は、完全に再設計された新しいミュート インジケーターを導入し、Apple Pencil の充電インジケーターと一致させました。
UIViewController サブクラスを追加のコンテキストと引数 (依存性注入に必要) で初期化できるようになりました。
デリゲート ファンでない方に朗報があります。 iOS 13 では、一部のデリゲート ベースの API が更新され、ブロック ベースの API になりました。
アプリを長押しして十字アイコンをタップして削除する必要はありません。左にスワイプするだけで、AppStore の更新ページからアプリを簡単に削除できるようになりました。
これまで、スクリーンショットは画像形式でのみ撮影されていました。 iOS 13 では、PDF 形式でスクリーンショットを撮ることもできます。
iOS 13 には新しい _visualRecursiveDescription
があります ビュー階層の視覚的表現を構築できるプライベート API。 LLDB でのデバッグに非常に便利なコマンドです。
新しい UICollectionViewCompositionalLayout
クラスが UIKit に追加され、カスタム UICollectionViewLayout
を必要とせずに構成レイアウトを簡単に作成できるようになりました .
UITableViewStyle
enum が新しい public UITableViewStyleInsetGrouped
を獲得しました グループ化されたスタイルのテーブル ビューを作成するために使用できるケース。
ファイル管理 API を使用する iOS アプリに、ファイルだけでなく、フォルダー全体への読み取り/書き込みアクセスを許可できるようになりました。
スクロール ビューでのスワイプにうんざりしていませんか? iOS 13 では、スクロール インジケーターをドラッグして長いドキュメントを移動できます。
子供向けのアプリには、サードパーティの広告または分析ソフトウェアを含めることはできず、データをサードパーティに送信することはできません。
MDM は機密データへのアクセスを提供します。MDM アプリはモバイル デバイス管理機能を要求する必要があります。MDM アプリは、企業組織、教育機関、政府機関などの営利企業、および限られたケースでは MDM を利用する企業によってのみ提供されます。ペアレンタルコントロール用。 MDM アプリは、いかなる目的でもデータを販売、使用、または第三者に開示することはできず、プライバシー ポリシーでこれを約束する必要があります。 (スクリーンタイムのような機能のために MDM を悪用したアプリを指します)。
ええ、それは新機能で完全に満たされた非常に長いリストです.開発者はそれらすべてを使用して、アプリケーションをより良くスムーズにすることができます。それでは、iOS 13 で導入される新しいフレームワークを見てみましょう-
フレームワーク:
<オール>
バックグラウンド タスク :BackgroundTasks フレームワークを使用して、アプリのコンテンツを最新の状態に保ち、アプリがバックグラウンドにある間に完了するのに数分かかるタスクを実行します。長時間のタスクでは、必要に応じて電源付きデバイスとネットワーク接続が必要になる場合があります。アプリの起動時にタスクの起動ハンドラーを登録し、必要に応じてスケジュールします。システムはバックグラウンドでアプリを起動し、タスクを実行します。
組み合わせる: Combine フレームワークは、時間をかけて値を処理するための宣言型 Swift API を提供します。これらの値は、ユーザー インターフェイス イベント、ネットワーク応答、スケジュールされたイベント、およびその他の多くの種類の非同期データを表すことができます。 publishers を宣言する結合 時間の経過とともに変化する可能性のある値と、サブスクライバーを公開する サイト運営者からこれらの値を受け取る
CoreAudioTypes: CoreAudioTypes フレームワークは、他の Core Audio インターフェイスで使用される一般的なデータ型と定数を宣言します。このフレームワークには、いくつかの便利な関数も含まれています。
コア ハプティクス: Core Haptics を使用すると、カスタマイズされた触覚およびオーディオ フィードバックをアプリに追加できます。触覚を使用して、注意を引き、アクションを強化する触覚および音声フィードバックを使用して、ユーザーを物理的に引き付けます。ピッカー、スイッチ、スライダーなどの一部のシステム提供のインターフェイス要素は、ユーザーがそれらを操作すると、触覚フィードバックを自動的に提供します。 Core Haptics を使用すると、デフォルトのパターンを超えてハプティクスを構成および組み合わせることで、この機能を拡張できます。
QuickLookThumbnailing :ミニチュア表現、またはサムネイルを作成したい場合があります 、ファイルとその内容をアプリ内に表示したり、オペレーティング システムにサムネイルを提供したりします。たとえば、macOS では、Finder アプリとその Quick Look 機能の一部としてサムネイルが表示されます。 QuickLookThumbnailing フレームワークは、QLThumbnailGenerator
を使用して一般的なファイル タイプのサムネイルを生成する API を提供します。 オブジェクト。
鉛筆キット :PencilKit を使用すると、手描きのコンテンツを iOS または macOS アプリにすばやく簡単に組み込むことができます。 PencilKit は、Apple Pencil またはユーザーの指からの入力を受け取り、iOS または macOS で表示する高品質の画像に変換する iOS アプリ用の描画環境を提供します。この環境には、線を作成、消去、および選択するためのツールが付属しています。
RealityKit :RealityKit フレームワークを使用して、高性能の 3D シミュレーションとレンダリングを実装します。 RealityKit は、ARKit フレームワークによって提供される情報を活用して、仮想オブジェクトを現実世界にシームレスに統合します。
VisionKit :VisionKit は、アプリがシステムのドキュメント スキャナーを使用できるようにする小さなフレームワークです。ドキュメント カメラを、Notes のカメラ機能のように画面全体をカバーするビュー コントローラーとして表示します。
サウンド分析 :SoundAnalysis フレームワークを使用してオーディオを分析し、笑い声や拍手などの特定のタイプとして認識します。フレームワークは、MLSoundClassifier
によってトレーニングされた Core ML モデルを使用して分析を実行します。 .ストリーミングまたはファイルベースの音声を分析するフレームワークの機能を使用すると、インテリジェントな音声認識機能をアプリに追加できます。
CryptoKit :Apple CryptoKit を使用して一般的な暗号操作を実行します:暗号的に安全なダイジェストを計算して比較します。公開鍵暗号を使用して、デジタル署名を作成および評価し、鍵交換を実行します。メモリに保存されたキーを操作するだけでなく、Secure Enclave に保存され管理されている秘密キーを使用することもできます。対称キーを生成し、メッセージ認証や暗号化などの操作で使用します。低レベルのインターフェースよりも CryptoKit を優先します。 CryptoKit は、生のポインタの管理からアプリを解放し、メモリの割り当て解除中に機密データを上書きするなど、アプリをより安全にするタスクを自動的に処理します。
マップのウェブ スナップショット :Maps Web Snapshots サービスを使用して、URL から静的な地図画像を生成できます。スナップショットは、インタラクティブ マップが必要ないときはいつでも使用できます。また、通常はウェブページや電子メール クライアントなどの JavaScript が利用できない場所で画像 URL を使用します。
DriverKit :DriverKit を使用して、ユーザーが Mac にインストールするデバイス ドライバーを作成します。 DriverKit でビルドされたドライバーは、システムのセキュリティと安定性を向上させるために、カーネル拡張としてではなく、ユーザー空間で実行されます。
MetricKit :MetricKit を使用すると、システムによってキャプチャされたオンデバイス アプリのパワーとパフォーマンスのメトリックを受け取ることができます。登録済みのアプリは、過去 24 時間に関するデータを含むレポートを 1 日に 1 回しか受け取りません。レポートのデータを使用して、アプリのパフォーマンスを改善してください。
システム拡張機能 :システム拡張機能を作成すると、カーネル拡張機能 (KEXT) の開発に伴うリスクなしに、アプリでユーザーの Mac の機能を強化できます。システム拡張機能は、macOS のセキュリティや安定性を損なうことができないユーザー空間で実行されます。システムはこれらの拡張機能に高いレベルの特権を付与するため、以前は KEXT に限定されていた種類のタスクを実行できます。
エンドポイントのセキュリティ :Endpoint Security ライブラリを使用して、セキュリティ関連のソフトウェアを作成します。 Endpoint Security クライアントは、悪意のある可能性のあるアクティビティのシステム イベントを監視します。クライアントは、Endpoint Security に登録して、保留中のイベントを承認したり、既に発生したイベントの通知を受信したりします。これらのイベントには、プロセスの実行、ファイル システムのマウント、プロセスのフォーク、シグナルの発生が含まれます。
USBSerialDriverKit :USBSerialDriverKit フレームワークは、モデムやシリアル アダプターなどの USB デバイス用のシリアル通信ドライバーを開発するための API を提供します。このフレームワークは、ボー レートやパリティなどの属性を設定し、デバイスのユニバーサル非同期受信機/送信機 (UART) と連携する機能を追加することで、DriverKit を基に構築されています。
USBDriverKit :USBDriverKit フレームワークを使用して、macOS で使用するカスタムまたは非クラス準拠の USB デバイス用のドライバーを開発します。 USBDriverKit は、デバイスを接続して構成し、USB メッセージとストリーム パイプを作成してデータを交換するために使用できる C++ クラスを提供します。 USBDriverKit デバイスは、DriverKit フレームワークで定義されたコア タイプで動作します。
HIDDriverKit :HIDDriverKit フレームワークは、ヒューマン インターフェイス デバイス (キーボード、ポインティング デバイス、ペンやタッチパッドなどのデジタイザー) のドライバーを開発するための C++ クラスを提供します。 HIDDriverKit は、DriverKit で定義されたコア タイプを使用し、ヒューマン インターフェイス デバイス開発に固有の機能を追加します。
それが今日のすべてです。ハッピーコーディング!!
???読んでくれてありがとう???