ios의 앱을 개발하기 위해서 swift를 공부하고 있다.
백그라운드에서 통화수신, 발신을 관찰하여 시간 데이터를 수집하고 싶다.
이미 애플에서 제공하는 통화기록을 참조하면 되지 않겠느냐고 할 수 있겠지만, 개인정보 정책상 통화이력에 접근하는 API를 공개하지 않는다고 한다.
조금 희망을 가지고 있는 것은 CALLKIT을 사용하여 VoIP의 상태변화를 체크할 수 있다는 점이다.
결과, 전화 수신시 수신되었다는 상태를 읽는데에 성공했다. 이는 백그라운드에서도 작동을 한다.
다만 문제점은 시간을 정확하게 기록하기를 원하는데, 앱을 활성화 상태로 두면 시간을 정확하게 체크하지만 앱을 비활성화상태. 백그라운드로 내리면 시간을 체크하지 않는다.
그래서 시간체크를 백그라운드 상태에서도 할 수 있도록 백그라운드에 대해서 공부를 하고 있다.
먼저 chatGPT한테 물어보았다. background 작업을 하고 싶은데 어떻게 하면 될까?
친절하게도 BGTaskScheduler를 불러와서 시작해보라고 한다.
그러나 나는 지금까지 수십번 이상 이 친구한테 농락을 당해왔다.
이번에는 순순히 놀아나지 않으리라!
그래서 구글신님한테 물어보았다.
스택이 넘쳐나는 사이트를 들어가보니 나와 똑같이 chatGPT한테 속은 사람이 있는가보다.
답변으로는 BackgrounsTasks 를 불러오라고 하더라.
최종적으로 공식문서를 살펴본다.
공식적으로 지원하는 Framework의 명칭은 BackgroundTasks이다.
따라서 스택이 넘쳐나는 분이 이야기해준 import BackgroundTasks가 더 신뢰성이 있다.
'IOS SWIFT' 카테고리의 다른 글
ios swift 공식 개발자 문서 class 사용법 (0) | 2023.04.17 |
---|