iOS不支持通过渐进式Web应用程序本地访问蓝牙。是否有任何一种解决方法?Youtube.com肯定可以从蓝牙扬声器播放声音,所以在某种程度上是可能的。Safari网站是否仍然可以通过某种方式任意与蓝牙设备通信?
你所要求的是在iOS上从Safari访问Web Bluetooth API。为了实现这一点,Safari使用的浏览器引擎WebKit必须实现该功能。目前的官方状态为"不考虑"。换句话说:您不会在明天或不久之后在iOS的Safari中找到支持Web Bluetooth API的功能。可能的解决方法很大程度上取决于您的具体情况。您是否控制蓝牙设备?该设备是否有其他通信方式?您的Web应用程序的用户是否可以下载替代浏览器?以下是我想到的一些想法。使用支持Web Bluetooth API的浏览器自己建立浏览器在开发iOS和iPadOS的本机应用程序时,您可以访问蓝牙。您可以使用WKWebView构建自定义Web浏览器,并自己添加对Web Bluetooth API的支持。下载支持Web Bluetooth的Web浏览器我成功使用过WebBLE和Cider Connect。创意解决方案如果您控制蓝牙设备,则可能存在其他创意解决方案。正如您所写的那样,可以从网站流式传输音频到蓝牙扬声器(反之亦然)。如果您控制蓝牙设备,则没有任何阻止您通过音频发送数据(就像旧日的声学调制解调器一样)。也许蓝牙设备有其他连接或传感器。如果它有相机,渐进式Web应用程序可以通过这种方式发送数据。不过,如果不了解您试图实现的目标,很难提出更多创意。
问题在于所有的iOS设备都被限制只能使用苹果公司的WebKit引擎,该引擎不支持BLE。然而,这已经成为无关紧要的问题了,因为最近的发展(截至本文撰写)可能会看到苹果公司取消这个限制。浏览器、PWA等将不再需要使用WebKit,可以使用任何支持BLE的引擎(例如Chromium)。