Skip to content

MASTG-KNOW-0073: APIs de Rede do iOS

Desde o iOS 12.0, o framework Network e a classe URLSession fornecem métodos para carregar requisições de rede e URL de forma assíncrona e síncrona. Versões mais antigas do iOS podem utilizar a API de Sockets.

Framework de Rede

O framework Network foi introduzido na Apple Worldwide Developers Conference (WWDC) em 2018 e é um substituto para a API de Sockets. Este framework de rede de baixo nível fornece classes para enviar e receber dados com suporte integrado para rede dinâmica, segurança e desempenho.

O TLS 1.3 é habilitado por padrão no framework Network quando o argumento using: .tls é utilizado. É a opção preferida em relação ao legado framework Secure Transport.

URLSession

O URLSession foi construído sobre o framework Network e utiliza os mesmos serviços de transporte. A classe também usa TLS 1.3 por padrão quando o endpoint é HTTPS.

O URLSession deve ser usado para conexões HTTP e HTTPS, em vez de utilizar o framework Network diretamente. A classe URLSession suporta nativamente ambos os esquemas de URL e é otimizada para tais conexões. Requer menos código boilerplate, reduzindo a possibilidade de erros e garantindo conexões seguras por padrão. O framework Network deve ser usado apenas quando houver requisitos de rede de baixo nível e/ou avançados.

A documentação oficial da Apple inclui exemplos de uso do framework Network para implementar netcat e do URLSession para buscar dados de um site na memória.