logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

[iOS] Bluetooth로 App을 백그라운드 모드로 실행는 방법

by lizard2019 posted Feb 11, 2020
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

iOS에서 백그라운드 모드로 앱을 실행할 수 있는 몇가지 방법을 제공합니다.

예를 들어 음악앱이나 VOIP등과 같은 앱들은 백그라운드에서 실행이 가능합니다. 

Info.plit에서 UIBackgroudModes 항목을 설정해면 됩니다.

Core Bluetooth에서도 백그라운드 실행이 가능합니다만. 다른 방법들 보다 제한이 많습니다.

무리하게 Bluetooth 무선 기능을 사용하다가는 iOS 기기의 배터리가 남아나질 않습니다.

 

사용하는 Bluetooth기기들이 많아 지고 있어서 심각한 방전 사태를 불러올 수도 있습니다.

 

일단 앱과 미리 연동되어있던 상태(참고로 말씀드리면 미리 연동도 되지 않은 상태에서 앱을 백그라운드로 돌릴 방법은 없습니다)여야 합니다. 앱이 연동된 후 실행 정지되면 Bluetooth의 통신도 종료됩니다.

하지만 Bluetooth 디바이스에서 이벤트를 발생하면 앱이 백그라운드로 살아나 지정된 작업을 하도록 할 수 있습니다. 다만 이때 복잡한 작업을 수행할 수는 없고 통신 값을 저장해두는 정도의 간단한 작업을 할 수 있습니다. 10초 이내에 작업 종료되어야 합니다.

 

그러나 정확한 데이터 수집을 위해서는 Bluetooth 장치가 데이터를 보과한고 있다가. 사용자가 앱을 포그라운드로 불러와 UI 표시될때 통신을 재 연동해서 데이타를 가져는것이 월씬 안전할 것 같습니다. 경우에 따라서 시스템의 상황에 따라서 앱이 백그라운드로 실행되지 않을 수도 있기 때문입니다. 따라서 심박수 측정, 도어락 관련 앱등 특정 앱에서만 사용하는 것이 좋습니다.

 

안드로이드 처럼 서비스로 돌려서 실시간 백그라운드 처리를 할 수 있다고 생각하면 큰 낭패를 볼 수 있습니다.

 

아래 내용을 참조하면 실제로 그리 어렵지 않게 구현이 가능합니다.

 

https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html


List of Articles
No. Subject Author Date Views
» [iOS] Bluetooth로 App을 백그라운드 모드로 실행는 방법 lizard2019 2020.02.11 19
80 How to Build FFMpeg for LAVFilters file lizard2019 2019.06.05 541
79 How to FFMpeg Windows Build with msys 1.0 and MinGW_64 file lizard2019 2019.06.05 788
78 C/C++ struct 패딩(padding) 원리 이해 lizard2019 2019.03.04 667
77 gcc thread and mutex 사용법 lizard2019 2019.02.27 535
76 윈도우즈 도스 커멘드(Command) 네트워크 관련 명령어 lizard2019 2019.02.07 555
75 Ubuntu 우분투 설치 가이드 lizard2019 2019.01.29 443
74 Linux/OSX bash에서 source 명령어 lizard2019 2019.01.07 454
73 Xcode 없이 맥에 '명령어 라인 도구(Command Line Tools)'를 설치하는 방법 엉뚱도마뱀 2018.12.26 1064
72 언어 IDE 별로 git ignore 파일을 자동으로 만들어 주는 사이트 엉뚱도마뱀 2018.12.17 267
71 [Swift, MacOS] 맥 한글 파일명이 윈도우에서 자소 분리되는 현상 해결, NFD, NFC 엉뚱도마뱀 2018.12.11 2883
70 수학적 구조물 모델링 만들기 소개 비디오 엉뚱도마뱀 2018.09.24 496
69 Photoshop CC 2018 한글 영문 변환 언어팩, 포토샵 언어변경 file 엉뚱도마뱀 2018.07.04 4239
68 LibVLC 미디어 재생기 프로그래밍 방법 C++, QT 엉뚱도마뱀 2018.04.20 944
67 select 와 epoll 엉뚱도마뱀 2017.12.11 468
66 비밀번호 해쉬에 Salt(소금) 첨가하기 file 엉뚱도마뱀 2017.11.23 1773
65 Linux /dev/random vs /dev/urandom 삽질 후기 엉뚱도마뱀 2017.11.22 439
64 리눅스 /dev/random을 이용한 랜덤값 생성 엉뚱도마뱀 2017.11.22 517
63 난수발생기 개론 엉뚱도마뱀 2017.11.22 1436
62 RSA 암호화 알고리즘 개요 file 엉뚱도마뱀 2017.11.17 536
Board Pagination Prev 1 2 3 4 5 Next
/ 5