我有一個應用程序使用EAAccessory
框架連接到傳統的藍牙。iOS - 重新使用EAAccessory對象進行重新連接?
我試圖使它更容易爲用戶通過存儲重用EAAccessory
對象爲下一次應用開始連接 ,會自動連接到藍牙設備,
這可能嗎?
感謝
我有一個應用程序使用EAAccessory
框架連接到傳統的藍牙。iOS - 重新使用EAAccessory對象進行重新連接?
我試圖使它更容易爲用戶通過存儲重用EAAccessory
對象爲下一次應用開始連接 ,會自動連接到藍牙設備,
這可能嗎?
感謝
您可以使用
[[EAAccessoryManager sharedAccessoryManager] connectedAccessories]];
用於獲取當前連接的所有配件。
由於iOS不允許您控制與藍牙設備的連接/斷開連接,因此存儲對未連接對象的引用是多餘的。
我發現使用EAAccessoryManager事件(如accessoryDidConnect和accessoryDidDisconnect)來觸發到已保存名稱或標識符(藍牙地址/ MAC地址)(而不是對EAAccessory的引用)的設備的連接更容易也更可靠而不是試圖重用可能不再相關的EAAccessory。
假設操作系統首先自動重新連接到藍牙設備,但是,對嗎?如果設備仍然配對,或者在那裏,沒有辦法從曾經連接過BT設備的iOS應用發起重新連接? –
iOS不允許您控制與藍牙設備的配對,它會自行處理並通過通知通知您配件已連接/斷開連接。如果您的應用程序在附件連接時運行,您可以檢查附件信息以確定這是否是您的應用程序想要連接的設備。如果您的應用程序在連接配件時未運行,請使用以下答案中的查詢獲取當前連接的配件,並確定它們中是否有任何配件是您正在查找的配件。 – CodexNZ
我說的是連接,而不是配對。我的問題不在於獲得通知(我可以控制),而是在BT設備連接後重新建立連接,然後超出範圍,然後再次觸及。在iOS System Prefs中,BT設備仍然列爲「未連接」。你知道你所建議的自動重新連接是什麼控件嗎(但不是我們的設備)?設備是否必須啓動重新連接,或者iOS是否這樣做,你知道嗎? –