[ iOS ] 백그라운드 BGTaskSchedulerPermittedIdentifiers

반응형

 iOS Background Modes 

아이폰 개발을 하다보면 백그라운드 설정이 필요할 때가 있습니다. 저전력 블루투스나 백그라운드 프로세싱등을 하려면 Backgroubnd 모드를 활성화해줘야 하는데 만약 해당 기능을 활성화하고 Plist에 특정 옵션을 추가하지 않으면 iOS 13이상에서 앱 제출시 문제가 될 수 있습니다. 만약 앱스토어에서 문제가 생기면 다음 옵션들을 만들어 수정해줘야 합니다.

 

Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedldentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of

'processing': For more information, refer to the Information Property List Key Reference at https://developer.apple.com/library/jos/documentation/General/Reference/

InfoPlistKeyReference/Introduction/Introduction.html. (ID: bf03baff-27f2-4eed-bc64-450be0f436e6)

ITMS-90771

UIBackgroundModes


 

 

우선 다음과 같이 백그라운드 모드에서 Background fetch, Background proccessing 을 활성화 한경우에 한합니다.

iOS Background Modes


 

Info.plist 파일을 열어 다음 키의 옵션을 추가합니다. 해당 키의 값은 배열로 여러개를 추가할 수 있습니다.

Permitted background task scheduler identifiers (BGTaskSchedulerPermittedIdentifiers)

옵션의 종류는 다음과 같습니다.

  • processing
  • location
  • fetch
  • bluetooth-peripheral
  • bluetooth-central

BGTaskSchedulerPermittedIdentifiers


 

저 같은 경우 백그라운드 모드에서  BLE 연결을 위해서 해당 기능을 사용했습니다. 특히 아이폰에서 백그라운드 모드를 허용해서 통신을 하거나 특정한 프로세싱 기능을 하려면 위의 옵션은 필수 입니다.

반응형

댓글

Designed by JB FACTORY