【问题标题】:Problems with Core Bluetooth核心蓝牙问题
【发布时间】:2013-08-01 16:21:20
【问题描述】:

我正在制作一个应用程序,其中 iOS 设备必须同时是外围设备和中心设备。当它发现外围设备时,有时它的名称是型号(例如 iPhone),而不是实际名称(例如我的 iPhone)。在这种情况下,UUID 就在那里(当名称是实际名称时,通常是 (null))。我在startAdvertising: 中正确设置了名称,当发生这种情况时,advertisementData 中的相应键没有给出真实名称

如何确保真实姓名始终存在?

这就是我设置名称的方式:

[self.peripheralManager startAdvertising:@{ CBAdvertisementDataLocalNameKey : [[UIDevice currentDevice] name], CBAdvertisementDataServiceUUIDsKey : @[SERVICE_UUID] }];

【问题讨论】:

    标签: ios objective-c core-bluetooth


    【解决方案1】:

    除非正在投放广告的应用始终处于前台,否则无法保证广告数据(您正在搜索的特定服务除外)将可见。当应用程序移动到后台时,adv 数据被放入哈希中,以便在同时运行多个具有 corebluetooth 的应用程序与单个应用程序时具有相同的体验(因为 iPhone 本身只能宣传有限数量的数据)。但是,我注意到一旦在前台看到设备,如果应用程序移到后台,您仍然可以看到大部分广告数据。如果您有任何问题,请告诉我。

    【讨论】:

    • 您是否在广告字典中正确设置了 CBAdvertisementDataLocalNameKey 键?
    • 我设置正确。
    • 哈哈,好吧。它确实有所作为。
    • 我指的是 CBAdvertisementDataLocalNameKey 键
    • 哦,是的。我绝对设置了!
    猜你喜欢
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    相关资源
    最近更新 更多