iOS 개발 TIL (Today I Learned)

jeongmuyamette·2025년 1월 16일

TIL

목록 보기
28/72
post-thumbnail

iOS 백그라운드 작업의 이해와 제한사항

1. 백그라운드 실행 가능한 작업들

  • 오디오 재생
  • 위치 추적
  • VoIP
  • 백그라운드 페치
  • 원격 알림

2. 주요 백그라운드 모드

// Info.plist 설정
<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
    <string>location</string>
    <string>fetch</string>
    <string>remote-notification</string>
</array>

3. 시스템 제한사항

  1. 카메라 접근

    • 백그라운드에서 불가능
    • 반드시 앱이 활성화 상태여야 함
  2. 위치 추적

    • 사용자 권한 필요
    • 배터리 소모 큼
    • 정당한 사용 사유 필요
  3. 오디오/비디오

    • PiP로만 비디오 재생 가능
    • 오디오는 계속 재생 가능

4. 백그라운드 작업 예시 코드

class BackgroundTaskManager {
    func beginBackgroundTask() {
        var backgroundTask: UIBackgroundTaskIdentifier = .invalid
        
        backgroundTask = UIApplication.shared.beginBackgroundTask { 
            UIApplication.shared.endBackgroundTask(backgroundTask)
            backgroundTask = .invalid
        }
    }
}

5. 배운 점

  1. iOS는 보안과 배터리 효율성을 위해 백그라운드 작업을 엄격히 제한
  2. 시스템 제한을 우회하려는 시도는 App Store 심사에서 거절될 수 있음
  3. 백그라운드 작업은 반드시 정당한 사용 사례가 있어야 함

0개의 댓글