2017-02-21 61 views
0

是否有可能獲得用戶對iOS綁定請求的決定?找出用戶要求綁定BLe設備(Objective-C,iOS 10)的決定

  • 選擇1:Abbort
  • 選擇2:連接/債券

截圖粘接請求的: enter image description here

我試圖使用centralManagerDidUpdateState,但它僅稱爲一個與CBManagerStatePoweredOn的時間,如果我打開藍牙。

#pragma mark - CBCentralManagerDelegate 
- (void)centralManagerDidUpdateState:(CBCentralManager *)central { 

    info(@"centralManagerDidUpdateState"); 

     switch(central.state){ 

      case CBManagerStateUnauthorized: 
       info(@"unauthorized"); 
       break; 

      case CBManagerStatePoweredOff: 
       info(@"poweredOff"); 
       break; 

      case CBManagerStatePoweredOn: 
       info(@"poweredOn"); 
       break; 

      case CBManagerStateResetting: 
       info(@"resetting"); 
       break; 

      case CBManagerStateUnknown: 
       info(@"unknown"); 
       break; 

      case CBManagerStateUnsupported: 
       info(@"unsupported"); 
       break; 
     } 
} 

我還試圖用「didConnectPeripheral」和「didFailToConnectPeripheral」:

- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral { 
    [peripheral setDelegate:self]; 
    [self _cancelConnectionRequests]; 
    [peripheral discoverServices:nil]; 

    BleDevice* bleDevice = [knownDevices findDevice:[peripheral.identifier UUIDString]]; 
    devicePaired(bleDevice.deviceId, bleDevice.primaryServiceUuid); 
} 

- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error { 
    [peripheral setDelegate:self]; 
    [self _cancelConnectionRequests]; 
    [peripheral discoverServices:nil]; 

    BleDevice* bleDevice = [knownDevices findDevice:[peripheral.identifier UUIDString]]; 
    deviceNotPaired(bleDevice.deviceId, bleDevice.primaryServiceUuid); 
} 

但是這兩種方法點擊「取消」或「連接/邦德」後,不叫! 至少只有在嘗試連接設備時纔會調用「didConnectPeripheral」 - 但在彈出窗口出現之前會發生這種情況!

還有其他想法嗎?

注:我有掃描沒有問題,連接或焊接與 BLE裝置 - 我只是想知道,如果用戶接受了他的iPhone的 結合請求!

回答

0

不,這是不可能的。我不知道蘋果爲什麼做出這個決定,因爲從安全的角度來看,應用程序知道鏈接是否被正確加密和驗證可能很重要。

如果您可以控制外圍設備的固件,則可以在配對事件發生時使其發送某些特性。

+0

>>>如果您可以控制外圍設備的固件,則可以在配對事件發生時使其發送特性。 <<< 是的,我確實 - 但這正是我想避免的。可惜... 嗯,非常感謝! – SbstnErb