gpt4 book ai didi

ios - 使用 Swift 检测附近的其他 iPhone

转载 作者:搜寻专家 更新时间:2023-10-30 23:04:26 24 4
gpt4 key购买 nike

我正在尝试构建一个应用程序,该应用程序能够在一定距离内检测到另一部具有相同应用程序的 iPhone。我不想使用位置。这可能吗?

最佳答案

假设您正在寻找彼此非常靠近的设备,通常是一个房间的顺序,如果幸运的话可能会更远一些(如果不是的话,有时会少很多),那么您'我们正在寻找的是蓝牙 LE(低功耗)。

  • 选择一个服务 UUID(从命令行输入 uuidgen;它会让你成为一个)
  • 使用 CBPeripheralManager,公布您的服务 ID(参见 startAdvertising)
  • 使用 CBCentralManager,搜索相同的服务 ID(参见 scanForPeripherals)
  • 将自己注册为后台蓝牙应用,同时作为 bluetooth-centralbluetooth-periphral(详情请参阅 Core Bluetooth Background Execution Modes)

通过此设置,您的应用将宣传您的服务,并且只要手机看到广告服务的内容,您的应用就会自动启动。

参见 Core Bluetooth Programming Guide了解详情。蓝牙开发有点挑剔,您经常需要处理很多小问题,但基础知识非常简单,尤其是对于此类用例。

如果您只想找到积极(在前台)使用您的应用并与他们交流的人,请查看GameKit .它建立在 Core Bluetooth 之上,但可以为您完成大量工作。它专为让人们聚在一起玩游戏而设计,但它可以做的远不止于此。

请注意:不要将蓝牙与蓝牙 LE 混淆。它们是完全不同的并且基本上不相关的协议(protocol)。蓝牙用于播放音乐之类的东西,而在 iOS 中你基本上无法访问它。 BLE 用于与心率监测器等低功耗外围设备交换少量数据。 Core Bluetooth 仅处理 BLE。

关于ios - 使用 Swift 检测附近的其他 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49990309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com