2014-03-25 45 views
3

我寫了iOS的應用程序,從TI SensorTag讀取數據後,外圍不再更新。繼蘋果公司的建議提供了「藍牙核心編程指南」中,我已經通過調用周邊物體的setNotifyValue:forCharacteristic:方法預約的服務特徵的價值。定期,周邊調用peripheral:didUpdateValueForCharacteristic:error:方法來通知我感興趣的值發生了變化,我讀它,如文檔中所述。iOS的藍牙LE回來到範圍

當我將iOS設備從SensorTag移動一定距離時,didUpdateValueForCharacteristic方法停止被調用(顯然),因爲兩者都是「超出範圍」。但是當我將設備移回「範圍內」時,更新不會恢復。不知何故,我的「外設」對象不再代表真正的外圍設備。

我可以按照1)編程「通知」哪些步驟周邊不再是「有效的」,和2)重新連接到我的設備,而無需用戶干預?

謝謝!

--Bill

+0

是您'centralManager:didDisconnectPeripheral:錯誤:'被調用的方法? – Paulw11

回答

1

當你的外圍斷開時,centralManager:didDisconnectPeripheral:error回調被調用。在這種回調,你可以馬上開始的連接請求與connectPeripheral:options:方法相同的外設。此請求將保持活動狀態,直到連接發生。它不需要任何用戶交互。

+0

謝謝allprog。我只驗證了centralManager:didDisconnectPeripheral:錯誤回調正是我需要向前移動的。 3乾杯! – wbj