菜鸟教程小白 发表于 2022-12-13 03:43:17

ios - 从 iOS 应用程序检测附近的移动设备


                                            <p><p>是否可以创建一个 iOS 应用程序来扫描附近的移动设备(例如 iPhone、Android、iPad 等),而无需在附近的移动设备上运行任何自定义应用程序?</p>

<p>我尝试过像这样在我的 iPhone 6+ 上运行 CoreBluetooth:</p>

<pre><code>;
</code></pre>

<p>但它检测到的唯一附近设备是我的 iMac,它不会检测到我的 iPad Air 2 或蓝牙耳机。</p>

<p>我做错了吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>核心蓝牙仅适用于低功耗蓝牙(又名蓝牙 4.0)设备,不适用于经典蓝牙设备。为了被发现,设备必须宣传一个或多个 BLE 服务。您可以实现 <code>CBPeripheralManager</code> 来做到这一点,甚至还有 <a href="https://developer.apple.com/library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html#//apple_ref/doc/uid/DTS40012927" rel="noreferrer noopener nofollow">sample code</a>来自 Apple 的“扫描仪”和“外围设备”方面。请注意,您也可以通过这种方式发现其他移动设备(例如 Android 智能手机)或被其他移动设备发现。</p>

<p>我不知道是否可以检测到 Hotspot 或 Handoff BLE 服务。 Core Bluetooth 不允许您访问“原始”Bluetooth Low Energy 广告数据包,因此 Apple 可能会过滤掉一些内容。</p>

<p>如果您只想检测 iOS 设备(而不检测其他 BLE 设备/配件),您还可以使用 Multipeer Connectivity 框架。我个人觉得它更容易使用,它甚至提供了一个内置的 <a href="https://developer.apple.com/Library/ios/documentation/MultipeerConnectivity/Reference/MCBrowserViewController_class/index.html" rel="noreferrer noopener nofollow">&#34;discovered devices&#34; view</a> .但是您仍然需要在双方都运行自定义应用程序。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 从 iOS 应用程序检测附近的移动设备,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/27242392/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/27242392/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 从 iOS 应用程序检测附近的移动设备