我可以使用 CBPairingAgent unpairPeer: 从配对中删除蓝牙设备吗

Can I use CBPairingAgent unpairPeer: to remove the bluetooth device from paired

我想从系统设置或 "unpair" 中删除配对的蓝牙设备。我知道苹果不提供 public api 来执行此操作,所以我尝试了 private class CBPairingAgent。我在 github 上找到了 headers CBCentralManager.h CBPairingAgent.h 这是我的代码:

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

此代码运行没有错误,但对外围设备也没有任何影响。

有人能指出我正确的方向吗?或者推荐更好的方法

如果进程有足够的权利,用于删除设备配对的私有 API 会起作用,这只能在 JB 设备上实现。

在 JB 上,我添加了这些权利(在设置和 SpringBord 中找到):

  • com.apple.BTServer.allowRestrictedServices
  • com.apple.BTServer.le
  • com.apple.BTServer.programmaticPairing