2014-04-01 50 views

回答

0

您可以使用

[[EAAccessoryManager sharedAccessoryManager] connectedAccessories]]; 

用於獲取當前連接的所有配件。

1

由於iOS不允許您控制與藍牙設備的連接/斷開連接,因此存儲對未連接對象的引用是多餘的。

我發現使用EAAccessoryManager事件(如accessoryDidConnect和accessoryDidDisconnect)來觸發到已保存名稱或標識符(藍牙地址/ MAC地址)(而不是對EAAccessory的引用)的設備的連接更容易也更可靠而不是試圖重用可能不再相關的EAAccessory。

+0

假設操作系統首先自動重新連接到藍牙設備,但是,對嗎?如果設備仍然配對,或者在那裏,沒有辦法從曾經連接過BT設備的iOS應用發起重新連接? –

+0

iOS不允許您控制與藍牙設備的配對,它會自行處理並通過通知通知您配件已連接/斷開連接。如果您的應用程序在附件連接時運行,您可以檢查附件信息以確定這是否是您的應用程序想要連接的設備。如果您的應用程序在連接配件時未運行,請使用以下答案中的查詢獲取當前連接的配件,並確定它們中是否有任何配件是您正在查找的配件。 – CodexNZ

+0

我說的是連接,而不是配對。我的問題不在於獲得通知(我可以控制),而是在BT設備連接後重新建立連接,然後超出範圍,然後再次觸及。在iOS System Prefs中,BT設備仍然列爲「未連接」。你知道你所建議的自動重新連接是什麼控件嗎(但不是我們的設備)?設備是否必須啓動重新連接,或者iOS是否這樣做,你知道嗎? –