2014-12-23 4 views
1

페어링 할 앱을 쓰고있는 BLE 장치가 있습니다. 문제가없는 장치를 발견하고 연결할 수 있습니다. 하지만 BLE 장치에 배터리를 연결하고 다시 넣으면 didDisconnectPeripheral 콜백이 표시되지만 아직 스캐닝 중이지만 다른 didConnectPeripheral을 얻지는 못합니다. 나는 또한 retrieveConnectedPeripheralsWithServicesretrievePeripheralsWithIdentifiers을 호출하려고 시도했지만 그 중 아무 것도 반환하지 않습니다.배터리를 당긴 후 BLE 장치에 다시 연결하십시오.

BLE 장치의 전원을 껐다 켠 후에 어떻게 다시 연결할 수 있습니까?

+0

방법의 배터리에 영향을 페어링 모드를 당겨 않습니다 -

당신은 UI를 업데이트하는보다 포괄적 인 구현을 할 수 있습니다 등 여기

공급 업체 정보를 주변에 연결하여 표시 몇 가지 예제 코드 주변 장치? –

+0

바로 부팅하여 브로드 캐스트를 시작합니다. – CaseyB

답변

1

즉시 다른 연결 실행할 수있는 주변 장치 연결 끊김과 같은 - 아이폰 OS가 자동으로 didConnectPeripheral: 대리자 메서드를 다시 표시되면 장치에 다시 연결하고 호출

다시 스캔 할 필요가 없습니다
-(void) centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error { 
    NSLog(@"Disconnected from peripheral"); 
    [central connectPeripheral:peripheral options:nil]; 
} 

/재 주변 장치를 발견하십시오. https://github.com/paulw11/BTBackground

+0

내 didConnectPeripheral을 다시 호출하지 않습니다. 나는 당신이'didDisconnectPeripheral'에 전달되는'CBCentralManager' 대신에 self.central을 사용하고 있음을 주목합니다. 그 이유가 뭐야? – CaseyB

+0

아니요, 중요하지 않습니다. 사실 내가 위의 대답에 복사 할 때 코드를 변경했습니다. 당신의 주변 장치는 무엇입니까? TI sensorTag와 LightBlue Bean을 사용하여 샘플 프로젝트를 OK로 테스트했습니다. – Paulw11

+0

Ok, 제 'didDisconnectPeripheral'에서 몇 가지 추가 작업을 수행하고있었습니다. 일단 내가 가지고있는 것만 가져다 놓으면 작동합니다. 나는 그것을 깨고 있었던 것을 알아낼 필요가있다! 고맙습니다! – CaseyB

관련 문제