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

时间:2016-07-06 14:19:41

标签: ios bluetooth core-bluetooth iphone-privateapi

我想从系统设置或“取消配对”中删除配对的蓝牙设备。我知道苹果公司没有提供公共API,所以我尝试了私人课程CBPairingAgent。我在github上找到了标题 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];
}

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

有人能指出我正确的方向吗?或建议更好的方式

1 个答案:

答案 0 :(得分:1)

如果进程具有足够的权限,则只有在JB设备上才能使用删除设备配对的私有API。

在JB上,我添加了这些权利(可在Settings& SpringBord中找到):

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