菜鸟教程小白 发表于 2022-12-13 10:23:33

ios - 能否获取 iBeacon 的扫描响应


                                            <p><p>我正在使用 iOS 8.4 中的 Core Bluetooth API。我的代码正在与一个被编程为 iBeacon 的 BLE 设备进行交互。下面是我实现 CBCentralManager 协议(protocol)的 didDiscoverPeripheral 回调函数时生成的日志语句:</p>

<p>2015-09-04 16:23:08.231 CentralManager - 发现外围设备 与数据 []</p>

<p>日志语句打印函数的 peripheral 和 AdvertisementData 参数的值。请注意,打印了外围设备的名称(顺便说一句:我碰巧知道 DfuTarg 是被扫描设备的正确名称)。</p>

<p>iOS 是从哪里获得这个名称的?它不是广告包的一部分。它必须来自辅助扫描请求/扫描响应交换,是吗?我的代码是否可以访问扫描响应?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>是的,<code>CBPeripheral</code> 名称来自扫描响应。当检测到广告时,CoreBluetooth 会自动请求扫描响应数据(至少在应用程序处于前台时)。</p>

<p><code>didDiscoverPeripheral</code> 方法会在设备接收到初始广告和扫描响应的信息后调用。本质上,您已经在使用该回调方法访问扫描响应信息。</p>

<p>需要注意的是,当广告被识别为 iBeacon 时,您无法访问此回调中的原始制造商数据。 iOS将其剥离,因此您无法访问它。这适用于广告和扫描响应中存在的制造商数据字节。 </p>

<p>见 <a href="http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html" rel="noreferrer noopener nofollow">here</a>了解更多信息。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 能否获取 iBeacon 的扫描响应,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/32406363/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/32406363/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 能否获取 iBeacon 的扫描响应