[iOS] Apple이 제공하는 Network 프레임워크

RudinP·2024년 3월 12일
0

Study

목록 보기
196/227

가이드라인

Use High-Level APIs

  • 소켓X
    • 직접 보안부분까지 개발해야 함
    • 구현하기 어려움
  • URL session O
    • 간단
    • 기본적인 보안도 자동으로 활성화

Transfer only as much data as required

Use Caches

Cancellation도 구현

Use Asynchronous APIs

  • 속도나 대역폭에 따라 느린 반응 발생 가능하기 때문에 메인 스레드를 블록해서는 안됨
  • 굳이 동기화가 필요하다면 백그라운드 스레드에서 진행

Use Hostnames

  • url 등
  • IP주소는 비추천
  • IPV4와 관련된 API는 사용 금지, 이를 위반하면 앱 심사 통과 못할 확률 높음
  • DNS 보안, 인증서 검증같은 보안이 추가되기 때문에 안전

Use HTTPS

Apple API 프레임워크

URLSession

  • API Request
  • File Transfer
  • Authentication

NSURLConnection을 대체하는 API. NSURLConnection 은 옛날 방식이기 때문에 절대 사용 X

Webkit

  • Display web content
  • Browser Features
  • Script Injection
    HTML에 필요한 출력 구현되어 있음

GameKit

  • Bluetooth
  • Wi-Fi LAN Connection
    P2P 접속, 음성 통신 구현 가능
  • Game Center Integration
  • Voice Chat

MultipeerConnectivity

  • Wi-Fi
  • P2P Wi-Fi
  • Bluetooth Personal Area Network

Bonjour

  • Automatic discovery of devices and sevices on a local network
    에어드랍과 같이 주변에 있는 기기를 자동으로 인식하는 기능 구현 시 사용

CFNetwork

  • 소켓 통신
  • 예전 버전 지원하는 경우만 사용

Network

  • 소켓 통신
  • Direct access to TLS, TCP, and UDP
    URLSession도 내부적으로는 이 프레임워크를 사용
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글