IOS Background Modes

박재빈·2025년 1월 3일
1

Background Mode란?

iOS의 앱은 기본적으로 앱이 백그라운드 상태로 전환되면 대부분의 작업이 중단된다. 그러나 특정 작업은 백그라운드에서도 실행될 필요가 있을 수 있다. 이를 가능하게 하는 것이 Background Mode이다.

Background Modes 활성화하기(Xcode)

  1. 프로젝트의 Signing & Capabilities 탭으로 이동
  2. +Capability버튼을 클릭하여 Background Modes를 추가
  3. 필요한 백그라운드 작업 유형을 체크한다.

Background Modes 항목

  1. Acts as a Bluetooth LE accessorie
  • 앱을 블루투스 LE 주변 기기처럼 동작하도록 설정한다.
  • 다른 기기에서 이 앱을 탐색하거나 연결할 수 있도록 만든다.
  1. Audio, AirPlay, and Picture in Picture
  • 앱이 오디오 또는 비디오를 백그라운드에서 재생할 수 있도록 허용한다.
  1. Background fetch
  • 시스템이 주기적으로 앱을 깨워 데이터를 미리 가져오도록 허용한다.
  • 시스템이 자동으로 호출하는 방식이라, 사용자가 제어할 수 있는 부분은 제한적이다.
  1. Background processing
  • iOS 13 이후 도입된 기능
  • BGTaskScheduler API를 사용해 예약된 작업을 처리할 수 있게 한다.
  • 일정 시간마다 데이터를 동기화하거나, 백그라운드에서 데이터를 처리할 수 있게 한다.
  1. External accessory communication
  • MFi(Made for iPhone) 인증을 받은 외부 하드웨어 장치와 데이터를 주고받을 수 있다.
  • 블루투스 장비와 같은 외부 장치와 통신을 지속할 때 사용한다.
  1. Location updates
  • 백그라운드에서도 위치 데이터를 계속 수집할 수 있게 해준다.
  • 위치 서비스 권한도 함께 설정해야 한다.
  1. Push to talk
  • 사용자가 버튼을 누르고 있는 동안 음성 데이터를 전송하여 실시간으로 소통할 수 있는 기능
  1. Remote notification
  • 푸시 알림을 통해 백그라운드에서 앱을 깨워 특정 작업을 실행할 수 있도록 한다.
  1. Uses Bluetooth LE accessories
  • 저전력 블루투스 장치와 백그라운드 상태에서도 데이터를 송수신할 수 있도록 허용한다.
  1. Uses Nearby Interaction
  • Nearby Interaction API를 사용하여 백그라운드에서도 U1 초광대역 또는 블루투스를 활용하여 기기 간 상호작용을 가능하게 해준다.
  1. Voice over IP
  • VoIP 앱이 수신 전화를 받을 수 있도록 네트워크 연결을 유지시켜준다.

0개의 댓글