相关疑难解决方法(0)

CoreBluetooth广告在iOS 10的后台

第一:我有一台iPad Air 2和一台iPhone 7.为了进一步阅读,我们估计该应用程序处于活动状态并在iPad上以及在iPhone上以后台模式打开.该应用程序完全相同,即使使用相同的蓝牙服务UUID和相同的DataLocalNameKey.

我想写一个可以在后台宣传蓝牙服务的应用程序,并且能够发现这项服务(在后台也是最佳的).正如我已经读过的那样,我不能使用苹果信标技术,因为它只能在背景中接近扫描/通知信标(我测试过,工作正常)但不能做广告.所以我开始使用CoreBluetooth,如上面提到的SO答案所述,因为它可以在后台做广告.

我的应用程序didDiscoverPeripheral在iPhone上的CBCentralManagerDelegate中调用方法(后台应用程序),因此它检测到了iPad.isAdvertisingiPhone上的CBPeripheralManager 的属性是true.但是didDiscoverPeripheral没有在iPad上调用.我有点困惑.一个选择是我的iPad由于某些原因不再能够检测到iPhone,或者我的iPhone正在撒谎而且它不是广告.

所以我认为我只是有点愚蠢和google搜索"CoreBluetooth调试应用程序".我找到了VicinityAltBeacon.对于这两个应用程序,行为是相同的!如果您是广告应用程序的后台(按主页/睡眠按钮),浏览应用程序将无法再发现它.如果您打开应用程序的后台,它将立即发现它.两个应用程序都提到它可以与它们在后台播放.

难道我做错了什么; 这种行为有望吗?我误解了这个框架吗?你能证实这种行为吗?

要确认这一点,最快的方法是在两台设备上安装Vicinity(您必须将NSBluetoothPeripheralUsageDescription密钥添加到Info.plist)将一台设备设置为广播,然后按主页按钮.

bluetooth ios core-bluetooth ibeacon ios10

7
推荐指数
2
解决办法
3722
查看次数

标签 统计

bluetooth ×1

core-bluetooth ×1

ibeacon ×1

ios ×1

ios10 ×1