5

사용자가 자동차에 들어가면 자동으로 블루투스 핸즈프리와 페어링하는 반응을 기록하는 기록 애플리케이션을 작성하고 싶습니다. 나는 이드도 손이 자유로운 장치가 필요하다.iOS 7 블루투스 - 휴대 전화가 다시 시작된 후에도 백그라운드에서 이벤트를 처리하는 앱

Android의 경우 방송 수신기를 사용하면 휴대 전화와 페어링 된 브로드 캐스트를 앱에서들을 수 있습니다. 전화가 다시 시작되고 다시 시작한 후 앱이 실행되지 않아도 작동합니다.

iOS (7+)에서 가능합니까?

+0

코드로 jailbreak가 발생하지 않는 기기에서 앱을 시작할 수 없습니다. 부팅시 "프로그래밍 방식으로"실행하지 마십시오. 블루투스 기기에서 기기가 블루투스를 사용하도록 설정되어 있고 이미 페어링되어있는 경우 앱을 사용할지 묻는 팝업이 표시 될 수 있습니다. Allow/Deny AlertView를 사용하면 사용자가 앱을 실행하고 백그라운드에서 몇 가지 작업을 수행하도록 유도 할 수 있습니다. – Larme

+0

저는 부팅 할 때 정말로 시작하고 싶지 않습니다. 블루투스 장치가 연결될 때 심지어 내 앱이 실행 중이 아닌 경우에도 알림을 받고 싶습니다. 이것이 Android에서 작동하는 방식입니다. –

+1

그것이 iOS에서 작동하는 방식이 아닙니다. 앱이 실행되고 있지 않으면 아무 것도 얻을 수 없습니다. – Larme

답변

3

당신은 상태 복원을 사용하여, 본질적으로 this docs

의 일부 "백그라운드에서 수행 장기 작업의"를 읽어 그것을 할 수있는 시스템은 사망 할 때 앱이 무엇을하고 있었는지에 주목합니다.
앱이 블루투스 기기를 검색하여 시스템에 의해 종료 된 경우 시스템에서이 조사를 계속 진행하고 bt 기기가 검색되지 않을 때 앱을 다시 시작합니다.
멀티 태스킹 막대를 사용하는 사용자가 아닌 시스템에 의해 앱이 종료 된 경우에만 작동합니다. 이 동작은 iOS 7 이후 변경되었습니다.

+0

이 메시지가 전화 재부팅시에도 계속 발생합니까? 지금까지 테스트 한 내용 (iOS 7.1)은 장치를 다시 시작한 후에도 검색 또는 광고가 다시 시작되지 않는다고 제안합니다. 그들은 계속해서 메모리 압력으로 인해 앱이 닫히면 앱이 다시 시작됩니다 (잠깐). –

1

또는 BT 하드웨어가 ibeacon 프로토콜을 사용하여 광고를 전송하도록 프로그래밍 할 수있는 경우 앱은 corelocation/ibeacon API에 의해 "활성화"될 수 있습니다. 그 후에는 아마도 코어 블루투스 페어링 코드가 시작될 수 있습니다.

+0

BT HW를 프로그래밍 할 수 없습니다. –