2014-11-27 4 views
4

iOS 기기를 사용하기 위해 블루투스 주변 기기를 개발 중입니다. iOS 앱을 백그라운드에서 처리하고 데이터를 처리해야합니다. Apple의 CoreBluetooth 프레임 워크를 살펴보면 백그라운드 실행 모드를 사용하는 방법을 알 수 있습니다. 이제 전력을 절약하기 위해 iOS 기기가 특정 시간 (사용자 상호 작용 필요 없음)에서만 블루투스 주변 기기에 연결되기를 바랍니다. iOS의 로컬 알림을 살펴본 결과 기능이 매우 제한되어 있으며 필요한 정보가 제공되지 않는다고 생각합니다.배경 iOS 기기가있는 블루투스

어쨌든 6시에 앱을 깨우고 애플리케이션에 블루투스 기기 스캔을 시작하라고 요청할 수 있습니까? 그리고 장치가 연결되면 다른 코드를 실행합니까? 이 모든 것은 사용자 상호 작용없이 이루어집니다.

의견을 보내 주시면 감사하겠습니다.

감사합니다.

답변

2

iOS에서 특정 시간에 작업이 수행되도록 예약 할 수는 없습니다 (로컬 알림은 제외하고 필요한 것은 아닙니다).

배경 가져 오기 모드를 사용하면 앱이 정기적으로 새로운 데이터를 확인할 수 있습니다. 앱을 깨우는 빈도에 대한 간격을 설정할 수 있습니다 (엄격한 일정이 아니라 iOS의 지침 일뿐입니다).

iOS에서 앱 대표 performFetchWithCompletionHandler을 호출하면 현재 시간을 확인하고 데이터를 전송할지 여부를 결정할 수 있습니다. 그렇지 않다면 신속하게 UIBackgroundFetchResultNoData을 반환 할 수 있습니다. 새로운 데이터를 얻으면 반환하기 전에 검색 할 수 있습니다. UIBackgroundFetchResultNewData