5

iOS8에서 CoreBluetooth를 사용하여 앱을 사용하여 다른 휴대 전화를 감지하고 연결하는 앱을 작성하고 있습니다. 두 앱이 백그라운드로 연결되어있는 동안 연결을 만들 수있는 최선의 방법을 알아 내려고했지만 두 휴대 전화가 백그라운드 + 잠겨있는 시나리오에서는 어려움을 겪어 왔습니다. 이 게시물의 제안을 따랐습니다 : 두 전화가 + 백그라운드로 고정되면 내가 연결을 설정할 수 없었던iOS CoreBluetooth가 주변 장치 및 중앙에서 동시에 백그라운드로 작동 중

How to detect nearby devices with Bluetooth LE in iOS 7.1 both in background and foreground?

을,하지만 난 곳 주변 장치 연결을 얻을 수있었습니다 중앙은 배경에 + 고정되어 있으며 중앙 잠금을 해제합니다. 아무 일도 일어나지 않지만 주변 장치의 잠금을 해제하면 또한 백그라운드에 있지만 잠겨 있지 않은 경우에도 작동합니다.

그래서 "주변 장치"의 잠금을 해제 할 때 연결을 설정하려면 두 전화기에서 중앙 및 주변 장치를 동시에 검색 및 보급하기로 결정했습니다. 어느 것이 든 다른 것을 먼저 발견하면 스캔/광고를 중단하고 연결합니다. 나는 다음과 같은 두 가지 질문에 자세히 설명되어이 방법으로 문제로 실행했습니다

Peripheral and central at the same time on iOS

iOS CoreBluetooth Simultaneous Peripheral and Central Managers

는 기본적으로, 내가 생각하는 내 장치의이 동시에 서로에 연결하려고 할 때, 연결을 시도 할 때 연결이 끊어지고 didConnectPeripheral이 둘 중 하나에서 호출되지 않습니다. 둘 다 연결되는 마지막 메시지는 연결하려고한다는 메시지입니다. 그것은 가끔씩 일 했으므로 연결에 확률적인 성격이있는 이유에 대해 조금 혼란스러워합니다. 누구든지 문제에 접근하는 방법에 대한 제안이 있습니까? 두 앱이 모두 백그라운드로 잠겨 + 잠겨있을 때 연결을 설정하는 더 좋은 방법이 있다면, 그것이 내 원래의 문제 였기 때문에 알려주십시오.

감사합니다.

+0

안녕하세요 스티븐, 백그라운드 모드에서 중앙 및 주변 장치를 만드는 데 어떤 행운을 얻었습니까? –

답변

0

info.plist에서 bluetooth-centralbluetooth-peripheralbackground modes을 선언하면 백그라운드에서 중앙 및 주변 역할을 모두 수행 할 수 있습니다.