Today
-
Yesterday
-
Total
-
  • 아이폰 카카오톡 백그라운드 사용 버그
    Soliloquy 2021. 6. 17. 02:28

     

     

    OpenClipart-Vectors님의 이미지

     

    갑자기 아이폰을 사용하면서 배터리가 엄청 빠르게 소모되는 것을 알 수 있었다. 휴대폰을 전혀 사용하지 않더라도 1시간에 5퍼센트 가까이 소모가 되었다. 충전을 하고 잠을 자고 나면 90% 정도였던 배터리가 거의 60% 정도로 줄어 있었다.

     

    배터리 사용 내역을 보니 평상시에 많이 안보였던 하늘색 막대가 항상 실행 중이었음을 알게 되었다. 하얀색 막대는 카카오톡이 백그라운드에서 실행된 시간을 나타냈다. 아무래도 최근 휴대폰이 꺼져있음에도 배터리가 빠르게 소모되었던 이유는 카카오톡이 백그라운드에서 지속적으로 실행되었기 때문인 것 같았다.

     

    하루 동안의 배터리 사용 내역

     

    평상시에는 카카오톡을 사용해도 배터리 사용 내역에 실제 사용한 시간 외 백그라운드로 동작했다는 기록은 없었다. 아무래도 이유는 모르겠지만 카카오톡에 무슨 문제가 생긴 것 같았다.

     

    앱을 다시 실행시키기 위해 최근 사용 앱에서 카카오톡을 밀어서 없애보기도 하고, 백그라운드 앱 새로 고침도 껐다 켜보고 , 알림을 껐다 켜보는 등 여러 가지 작업을 해보았었다. 그중 효과가 있는 것은 배터리 절전모드와 함께 카카오톡의 알림을 시스템 설정에서 끄는 것이었다. 하지만, 알림이 오지 않으면 카카오톡을 쓰기 힘드므로 쓰기 힘든 방법이었다.

     

    그리고 마지막 방법으로 재부팅을 했었는데, 다행히 재부팅 후에 해당 버그가 사라짐을 알 수 있었다.

     

    재부팅 후 배터리 사용량 모습

     

    신기했던 점

    재부팅으로 문제 해결을 하기 전까지 아래와 같은 점을 알 수 있었다.

     

    1. 백그라운드 앱 새로고침을 꺼도 백그라운드에서 앱은 실행될 수 있다.
    2. 최근 사용 앱 창에서 앱을 지워도 앱은 백그라운드에서 실행될 수 있다.
    3. 저전력 모드에서도 백그라운드 실행은 허용된다.
    4. 시스템 설정의 알림을 끄는 것이 백그라운드에서 앱을 실행시킬 수 있을지에 영향을 미칠 수 있다.

     

    앱이 백그라운드에서 실행될 수 있는 이유에 관한 추측

    위 문제를 검색하다가, 한 사이트에서 Silent Remote Push Notification 기능 때문에 이러한 문제가 발생할 수 있음을 발견했다. [각주:1] [각주:2]

     

    본 기능은 앱이 직접 백그라운드에서 데이터를 받을 수 있게 만들어 주는 기능이었다. 원래대로라면 애플 푸시 서버에서 해당 앱의 데이터가 업데이트되었음을 알리는 메시지를 받을 때, iOS 정책상 최대 30초 동안만 백그라운드에서 Task라는 것을 실행한다는 말을 찾았다. 내가 겪은 버그는 애플 푸시 서버에서 데이터 업데이트가 되었음을 알리는 메시지를 계속 보냈거나 Task가 어떻게 꼬여서 30초 이상 실행될 수 있게 되어버려 그런것 같다. 아마 후자의 가능성이 좀 더 높지 않을까 한다.

     

    추가적으로 위의 Silent Remote Push Notification 방법을 사용하면 앱이 강제 종료되면 그 뒤로부터는 다시 받지 않는다는 말도 찾을수 있는데,[각주:3] 그렇다면 최근 사용 앱 창에서 앱을 지우는 것은 앱을 완전히 종료시키는 것이 아니라는 말이 될려나 모르겠다.

     

    혹시나 이 외에 앱을 백그라운드에서 실행시킬 수 있는 방법이 있나 찾아보니 Background Fetch라는 백그라운드 실행 방법이 있긴 했다. 이 방법은 iOS에서 자체적으로 앱 실행 주기를 정해서 하는 것이었다. 이 기능은 아이폰의 카카오톡이 푸시 메시지를 받아도 카카오톡 내용은 카카오톡이 포그라운드에서 실행되기 전까지 채팅방의 데이터를 받아오지 않는다는 것으로 알고 있기에 가능성이 낮아 보였다.

     

    가장 정확한 방법은 로그를 보는 것이겠지만, 아쉽게도 로그를 살펴보는 방법을 잘 알지 못하기도 하고 시간도 부족하여 이번 문제는 그냥 넘기기로 했다.

     

    [본문 SVG 파일]

     

    iphone-1300368.svg
    0.01MB

     

    댓글

어제는 이곳에 명이 다녀갔습니다.

Powered & Designed by Tistory