问题标签 [iobluetooth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - CBCentralManagerScanOptionSolicitedServiceUUIDsKey 的用途
该CBCentralManagerScanOptionSolicitedServiceUUIDsKey
选项在扫描 CoreBluetooth 中的设备时可用,文档指出
指定此扫描选项会导致中央管理器也扫描请求阵列中包含的任何服务的外围设备。
这个选项的目的是什么?什么是“请求服务”?与在服务数组中指定服务 UUID 有何不同?
macos - blued 是否缓存 ATT 值,如何清除缓存?
我正在尝试为OSX 上的蓝牙 LE 错误找到任何解决方法。特别是,我想知道 OSX 在读取蓝牙 LE GATT 表时哪里出错了。因此,我正在从 Hardware IO Tools for XCode 查看 PacketLogger中的 L2CAP 数据包。
当我使用蓝牙资源管理器连接到蓝牙 LE 设备时,我希望看到 3.4.4.9 Read By Group Type Request (uuid=0x2800 «Primary Service», startingHandle=0x0001, endingHandle=0xffff) 以发现主要服务(或查找By Type Value Request (uuid=0x2800, value:uuid of service)),后跟 3.4.4.1 Read By Type Request (uuid=0x2803 «Characteristic») 以发现特征。这是我从 iPhone 嗅探数据包时看到的(使用 CC2540)。
但在 OSX 上,连接后我在 PacketLogger(和 CC2540)中看到的唯一 L2CAP 请求是:
- 按类型读取请求(attributeType=0x2803,startingHandle=0x001a,endingHandle=0x001a)
- 按类型读取请求(attributeType=0x2802 «Include»,startingHandle=0x0001,endingHandle=0x0004)
- 按类型读取请求(attributeType=0x2802,startingHandle=0x0005,endingHandle=0x0009)
- 按类型读取请求(attributeType=0x2802,startingHandle=0x0010,endingHandle=0x0019)
- 按类型读取请求(attributeType=0x2802,startingHandle=0x001a,endingHandle=0x001a)
- 按类型读取请求(attributeType=0x2803,startingHandle=0x001a,endingHandle=0x001a)
- 按类型读取请求(attributeType=0x2802,startingHandle=0x0021,endingHandle=0x0027)
- 按类型读取请求(attributeType=0x2802,startingHandle=0x002b,endingHandle=0x002e)
这些请求不足以发现服务,但蓝牙资源管理器此时会列出所有服务 UUID。这表明 OSX 已经知道服务在这个蓝牙 LE 设备上的位置。blued 是否缓存设备服务并在启动时读取它们?如果是这样,我该如何清除缓存?
我曾尝试关闭蓝牙、杀死 blued 并重新启动 OSX,但每次 OSX 都不会重新发现这些服务。
macos - 如何在 OSX 10.9.2 中启用 blued Core Bluetooth XPC 日志记录
有什么方法可以重新启用 blued Core Bluetooth XPC 消息的记录?
在 OSX 10.9.1 中,当我使用 IOBluetooth 与蓝牙 LE 设备通话时,系统日志包含如下所示的消息。但是,在 OSX 10.9.2 (2014-02-25) 中,当我使用 IOBluetooth 时,系统日志不再包含这些消息。有什么方法可以重新启用 blued RPC 日志记录,以便在尝试诊断错误时至少可以获得更多信息?
ios - iOS Input Mic Output Bluetooth Device
I am trying to get input from Mic and output it to my bluetooth device using audioRouteOverride. But No luck . iphone Mic output is still going to iphone builtin speakers. I expected kAudioSessionOutputRoute_BluetoothA2DP is the key here. But it is not working as expected.
Following is the code I am using:
macos - OSX 不推荐使用的蓝牙功能
我正在关注 Mac Developer 库中的“蓝牙设备访问指南”,了解如何实现 Mac RFCOMM 服务器。在有关如何将服务定义添加到 SDP 数据库的指南中,有一个代码清单使用了已弃用的函数:
在谷歌搜索这个函数时,我发现了几个仍然使用这个函数的开源项目。我还发现一些更改日志说这个功能已被删除,我发现一些头文件说明以下内容:
基于此,我的问题是:
- 为什么 Mac 文档使用已弃用的功能?
- 什么是 Objective-C 等价物?
bluetooth - J2ME:在蓝牙发现期间仅发现计算机
我正在为笔记本电脑编写一个安全应用程序,并开始DiscoveryListener
在 J2ME 中编写它,但它显示了所有设备类型,如手机。但我希望它只能找到计算机。
对此有任何帮助吗???
ios - 如何通过 IOBluetooth/CoreBluetooth 使用服务请求?
我想要做的是在我的 Mac 上使用我的 iPhone 上的 Apple 通知中心服务 (ANCS)。为了让我的 Mac 出现在我 iPhone 的蓝牙设置中,我显然需要使用服务请求。
到目前为止,我尝试的是CBPeripheralManager
在我的 Mac 上启动一个,将 ANCS 服务添加到它并开始做广告。这似乎没有,因为我的 Mac 没有出现在我的 iPhone 的蓝牙设置中。我还尝试过使用密钥CBCentralManager
中的 ANCS UUID 启动并开始扫描,CBCentralManagerScanOptionSolicitedServiceUUIDsKey
这也不起作用。
有谁知道如何做到这一点?我花了很多时间观看 WWDC 视频和浏览 Apple 的文档,但除了一些模糊地提到“服务请求”之外,我找不到它。
谢谢!
macos - 清除 CoreBluetooth GATT 缓存而不删除绑定
我有一个 iOS 应用程序作为外围设备和一个 OS X 应用程序作为中心,使用 CoreBluetooth 框架。OS X 应用程序连接到 iOS 应用程序,它们通过读取加密特征并输入随机代码来结合。一切正常,直到 iOS 应用程序重新启动。从那时起,每次我连接到 iOS 设备并尝试读取其任何特征时,它都会返回“句柄无效”-错误。解决此问题的唯一方法是从 OS X 的蓝牙首选项中删除设备并重新启动绑定过程。
我怀疑这个问题是由 OS X 对我设备的服务和特性的缓存引起的,看到当我使用两台 iOS 设备在重新启动后相互连接时,这个问题没有出现。
我正在寻找的是一种清除我的服务和特征的 OS X 缓存的方法。我熟悉删除com.apple.Bluetooth.plist并重新启动blued进程/打开/关闭蓝牙的方法。( blued 是否缓存 ATT 值,如何清除缓存?如何在 MacOS 上清除 CoreBluetooth 缓存?)
但是,删除 com.apple.Bluetooth.plist 需要我再次绑定 iOS 设备并输入代码。有没有办法清除缓存,但只能使用与我的应用程序相关的服务/特征?
macos - 在 Swift 中列出蓝牙设备范围内的设备
我在 Xcode 6 操场上有以下代码:
我刚刚开始在 OSX 下使用蓝牙,我目前想要的只是范围内的设备列表。
它似乎根本没有调用我的委托方法。
我是 OSX 开发和 Swift 的新手,所以要温柔。:)
ios - 如何将 IOBluetooth 框架添加到 Xcode
我使用 Xcode 5.1.1 并尝试添加 IOBluetooth 框架但找不到它。我只找到了 coreBluetooth 框架。我如何找到它?不再支持了吗?