2016-07-06 7 views
0

페어링 된 Bluetooth 장치를 시스템 설정에서 제거하거나 "페어링 해제"하고 싶습니다. 사과가 공용 API를 제공하지 않는다는 것을 알고 있으므로 개인 수업을 시도했습니다 CBPairingAgent.CBPairingAgent unpairPeer를 사용할 수 있습니까? 페어링 된 Bluetooth 장치를 제거하려면

- (void)unpair:(CBPeripheral *)peer { 
    id agent = [self.centralManager valueForKey:@"sharedPairingAgent"]; 
// [agent performSelector:@selector(setDelegate:) withObject:self.centralManager]; 
    [agent performSelector:@selector(unpairPeer:) withObject:peer]; 
} 

이 코드는 오류없이뿐만 아니라 주변에 대한 영향없이 실행 : 나는 GitHub의 여기에 CBCentralManager.h CBPairingAgent.h 내 코드입니다 헤더를 발견했다.

누군가가 올바른 방향으로 나를 가리킬 수 있습니까? 또는 더 나은 방법을 제안하십시오.

+0

해결책을 찾았습니까? – JBA

+1

@JBA 아니요. 내 앱에 올바른 권한이 없기 때문에이 코드가 작동하지 않는다고 생각합니다. – sage444

답변

1

프로세스에 JB 장치에서만 가능한 충분한 인 타이틀먼트가있는 경우 장치 페어링을 제거하는 개인 API가 작동합니다.

  • com.apple.BTServer.le
  • 에게
  • com.apple을

    • com.apple.BTServer.allowRestrictedServices :

      JB에

      , 나는이 (설정에서 발견 & SpringBord) 자격을 추가 한 .BTServer.programmaticPairing

  • +0

    흥미 롭습니다. 해당 자격과 함께 작동하는 코드를 공유 할 수 있습니까? – sage444

    +0

    위의 코드가 작동합니다. CBPeripheralManager에서 CBPairingAgent를 가져와 CBPeripheral *을 사용하여 unpairPeer :를 호출하면됩니다. – mringwal

    +0

    JB 기기가 없으므로 확인할 수 없습니다. 어쩌면 다른 사람이 그것을 확인하고, 감사합니다. – sage444