2017-04-24 43 views
0
顯示配對對話框

你好,我現在用的是蘋果樣品BLTE應用顯示配對對話框。(iPhone到iPhone)無法使用CoreBluetooth

這是我創建的特徵

self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] 
                    properties: CBCharacteristicPropertyRead| CBCharacteristicPropertyNotifyEncryptionRequired 
                     value:nil 
                   permissions:CBAttributePermissionsReadable]; 

代碼上面的代碼從蘋果公司的文章之一是採取link

這是我的代碼,當我通知,並試圖從特性

來讀取

我的問題是,當我嘗試此代碼,我不明白的配對對話,而不是我得到didUpdateValueForCharacteristic

2017-04-24 17:24:58.636 BTLE Transfer[1351:457263] Error discovering characteristics: Authentication is insufficient. 

這個錯誤這基本上意味着,我需要一個配對閱讀,但框架沒有按」 t顯示配對對話框。

我在這裏做錯了什麼?請幫忙。

編輯: 我更新了我的特點如下:

self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID] 
                    properties: CBCharacteristicPropertyRead| CBCharacteristicPropertyNotifyEncryptionRequired 
                     value:nil 
                   permissions:CBAttributePermissionsReadEncryptionRequired]; 
+0

加上'CBAttributePermissionsReadEncryptionRequired'我弄明白的權限? – Larme

+0

現在我得到這個錯誤'發現特徵時出錯:更改權限後不允許讀取'。沒有配對對話框。此外,它似乎並沒有打我的'didReceiveReadRequest'委託現在 –

回答

0

爲什麼配對對話框中沒有顯示出來,是因爲我對無論是iPhone相同的iCloud帳戶真正的問題。當我從一臺設備上刪除帳戶時,配對對話框顯示出來。

這個答案幫助link

0

如果您在使用藍牙低功耗(不加密),沒有配對對話...... 您必須實現你自己配對。

您可以訂閱特徵/獲取通知並讀取或寫入,就這些了。您必須從CBPeripheralManagerDelegate實現相應的方法。設置你的peripheralManager的代理,這些方法將被調用。

https://developer.apple.com/reference/corebluetooth/cbperipheralmanagerdelegate?language=objc

+0

我正在使用上面的代碼中提到的加密。根據蘋果公司的文檔,核心藍牙框架應該在讀/寫失敗時處理配對,但在我的情況下不會發生這種情況。這就是問題 –