此问题已在十月进行了讨论回到这里.这是一个新问题,因为CoreBluetooth相当新,从那以后可能会发生一些变化.
我每2秒就有一个BLE设备广告.使用以下命令启动扫描:
[self.CM scanForPeripheralsWithServices:nil options:0]
Run Code Online (Sandbox Code Playgroud)
最常返回(通过centralManager didDiscoverPeripheral回调)大约2s到4s之后.(CM是我的CentralManger)
但是,大约30%的时间,扫描需要10到18秒.已禁用附近设备中的WiFi和BT以尽可能清除频谱.扫描时间似乎与RSSI无关.在iPAd3旁边是-40dB,在另一个房间大约5米远时是-70dB.
[self.CM stopScan];
Run Code Online (Sandbox Code Playgroud)
在scanWithPeripherals之前调用,因为它减少了真正长时间等待的发生.
没有连接.没有要求提供任何特征或服务数据.广告数据就足够了.
有一个有用的TI 演示应用程序.这给出了类似的结果(实际上稍微差一点,因为它没有进行任何stopScan调用)
如果有任何事情似乎延长了发现时间,则可以在此Stackoverflow中看到CBCentralManagerScanOptionAllowDuplicatesKey选项.
显然,下一步是使用一些更高级的BT嗅探器/广告生成工具来进一步表征这个CoreBluetooth响应.
这是另一个有用的SO问题,但没有详细说明响应时间.
我们有一个表记录数据.它以每秒15K行的速度记录.
问题:我们如何将表格大小限制在10亿最新行?
即,一旦达到1bn行,它就变成一个环形缓冲区,在添加最新的行时删除最旧的行.
触发器可能会加载系统太多.这是 SO的触发示例.我们已经在使用一堆调整来保持加速(例如存储过程,表参数等).
使用ionic开发Web应用程序时,使用命令行在iOS模拟器中运行程序非常有用
ionic run ios -l -c -s --target="iPhone-5s"
Run Code Online (Sandbox Code Playgroud)
然后通过选择桌面Safari和开发 - > iOS模拟器,您可以在模拟器上调出应用程序的Web Inspector.一切都很好.
在桌面Safari上,右键单击元素以在Web Inspector中找到它非常有用.有没有办法在iOS模拟器Safari中执行此操作?
我最终将一个可搜索的字符串放入HTML和Ctrl-F中以找到它更麻烦.
我有一个 iOS 应用程序,它使用 CBPeripheralManager 来实现一个外围设备。我用以下命令开始广告:
[self.peripheralManager startAdvertising:@{CBAdvertisementDataLocalNameKey : @"MY_DEVICE_NAME"}];
Run Code Online (Sandbox Code Playgroud)
根据 Apple 文档,https : //developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBPeripheralManager_Class/index.html#//apple_ref/occ/instm/CBPeripheralManager/startAdvertising:
外围管理器对象仅支持两个键:CBAdvertisementDataLocalNameKey 和 CBAdvertisementDataServiceUUIDsKey
我的问题是我希望可以在 iOS 设置的“设置”->“蓝牙”区域中发现此外围设备。目前只能通过应用程序和 CBCentralManager scanForPeripheralsWithServices API 调用发现它。我是否需要添加数据服务才能通过 iOS 设置发现它?