MASTG-KNOW-0073 iOS ネットワーク API (iOS Network APIs)

iOS 12.0 以降、Networkarrow-up-right フレームワークと URLSessionarrow-up-right クラスはネットワークおよび URL リクエストを非同期および同期でロードするメソッドを提供します。古いバージョンの iOS では Sockets APIarrow-up-right を利用できます。

Network フレームワーク

Network フレームワークは 2018 年の Apple Worldwide Developers Conference (WWDC)arrow-up-right で紹介された、 Sockets API に代わるものです。この低レベルネットワークフレームワークは動的ネットワーク、セキュリティ、パフォーマンスのサポートが組み込まれたデータ送受信のためのクラスを提供します。

Network フレームワークでは引数 using: .tls が使用されている場合、デフォルトで TLS 1.3 が有効になっています。これは従来の Secure Transportarrow-up-right フレームワークよりも優先されるオプションです。

URLSession

URLSessionNetwork フレームワーク上に構築されており、同じトランスポートサービスを利用します。また、エンドポイントが HTTPS の場合、このクラスはデフォルトで TLS 1.3 を使用します。

HTTP および HTTPS の接続には Network フレームワークを直接利用するのではなく URLSession を使用すべきです。 URLSession クラスは両方の URL スキームをネイティブにサポートし、そのような接続のために最適化されています。定型コードをあまり必要としないため、エラーの可能性を減らし、デフォルトでセキュアな接続を確保できます。 Network フレームワークは低レベルや高度なネットワーク要件がある場合にのみ使用すべきです。

Apple の公式ドキュメントには Network フレームワークを使用して netcat を実装するarrow-up-right 例や、URLSessionウェブサイトのデータをメモリに取り込むarrow-up-right 例が掲載されています。

Last updated

Was this helpful?