- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用 ESTIMOTE 信标的目标:我们计划在高尔夫球场设置 Estimote 信标。我们的场景是每当玩家到达洞口时,比赛的节奏是什么,信标应该检测到它并通过我们的 iPhone 应用程序响应服务器。在这种情况下,用户不需要打开应用程序,因为手机在他的口袋里,他正在玩。
到目前为止我们做了什么:
我们尝试了以下在互联网或 estimote beacons 论坛上找到的解决方案。
2013 年 11 月的文章 Ibeacon monitoring但在 2016 年 12 月似乎没有什么不同。
我们还尝试通过 CoreLocationManager.startUpdatingLocation 进行背景测距: Here和 Here
这就是我注册信标阵列的方式,目前我们有 3 到 6 个信标。
func loadBeacons() { // Load beacons
self.beacons = getAllbeacons()
self.beaconManager = ESTBeaconManager()
self.beaconManager.delegate = self
self.beaconManager.requestAlwaysAuthorization()
if self.beaconManager.isAuthorizedForMonitoring() == true {
self.rangingBeaconsSetup()
} else {
self.beaconManager.requestAlwaysAuthorization()
}
}
func rangingBeaconsSetup() { // SET UP Ranging beacons
for beacon in self.beacons {
if let beaconRegion = self.beaconRegionFromItem(beacon) {
beaconRegion.notifyEntryStateOnDisplay = true
self.beaconManager.startMonitoring(for: beaconRegion)
self.beaconManager.startRangingBeacons(in: beaconRegion)
}
}
}
func beaconRegionFrom(_ beacon: Beacon) -> CLBeaconRegion? { // GET VALID REGION
let val = 1 << 16
if let uuid = NSUUID(uuidString: beacon.uuid), beacon.major < val && beacon.minor < val {
return CLBeaconRegion(proximityUUID: uuid as UUID, major: CLBeaconMajorValue(beacon.major), minor: CLBeaconMinorValue(beacon.minor), identifier: beacon.deviceName)
}
return nil
}
func beaconManager(_ manager: Any, didDetermineState state: CLRegionState, for region: CLBeaconRegion) { // Monitoring delegate.
if state == .inside {
let notification = UILocalNotification()
notification.alertBody = "By tapping you will be able to check-in"
notification.alertAction = "OK"
notification.fireDate = Date()
application.scheduleLocalNotification(notification)
}
}
以下是我们在相同的 IOS 设备 (OS 10) 上都具有不一致行为时收到的响应。
相关问题:
如果信标向所有手机广播数据,那么每台设备的行为都必须相同,因为我们拥有相同的 IOS 版本、相同的 Iphone 和相同的代码。我们怎样才能得到一致的结果我们的经验是,检测“从几秒到 15 分钟不等,有时根本检测不到”
我们如何才能获得一致且可靠的结果?
最佳答案
从你的问题描述来看,你的核心问题是后台监控回调行为不一致。
理论上,您应该能够获得一个监控回调,在后台唤醒您的应用程序,并让它在后台范围内持续 10 秒(如果您使用 this technique 可延长至 3 分钟)每次信标首次在受监控区域中检测到或每次在受监控区域中停止检测到所有信标时。这将触发 didEnterRegion
或 didExitRegion
回调。
如您所见,有时这些回调不会按预期出现。这有两个主要原因:
您不会收到进入或退出回调,因为区域状态未更改。当 iOS 认为它始终位于 CLBeacon 区域内时,通常会发生这种情况,而应用程序测试人员会短暂地将 iOS 设备从信标附近移除(通过移动手机或关闭信标),然后将其放回该区域。在这种情况下无法获得退出/进入序列通常是由于没有给 iOS 足够的时间来检测它已经退出该区域。在后台,这最多可能需要 15 分钟。 大多数时候,这纯粹是一个测试问题,而不是您的实际用户将面临的问题——测试人员在完成测试方面面临时间压力,因此他们通常不会等待足够长的时间这些测试用例。添加日志记录、通知或其他关于何时发生区域退出的洞察力可以帮助您的测试人员确保他们等待足够长的时间。
您无法快速获得入口回调,因为所有硬件加速槽都已满。为了检测信标并在一秒或一秒内发送 didEnterRegion
回调第二,当检测到感兴趣的信标时,iOS 依靠蓝牙硬件过滤器来唤醒操作系统。问题是这些硬件过滤器是一种稀缺资源,如果它们被首先安装在手机上的其他应用程序耗尽,那么您的应用程序将无法访问它们,这意味着检测时间将回退到软件扫描最多可能需要 15 分钟。没有办法知道您的应用程序是否已被授予访问这些硬件过滤器的权限,甚至在您的手机上卸载并重新安装应用程序也会改变这是否属实,从而导致不一致的结果。可用过滤器的数量未记录,但 some evidence suggests数字是 30,这意味着只有手机上监控的前 30 个 CLBeaconRegions
获得优先访问权。
为了解决测试中的问题 #2,卸载您认为可能正在监视信标的任何其他应用,然后重新安装您的应用。您应该会得到更一致的结果。
当然,你不能让真正的用户卸载其他的信标应用,所以他们可能仍然会面临这些问题。但好消息是,大多数普通用户的手机上不会有很多信标应用程序,因此这种情况发生在真实用户身上的可能性远小于手机上经常有很多信标应用程序的开发人员或测试人员.
关于ios - Estimote 信标无法按预期在 Iphone 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41042428/
richfaces如何避免显示丰富 TreeMap 标?我想过滤树,如果一个父亲被填充,他将不会显示,但他的 child 会显示,所以我需要从默认图标更改为无图标。 其中项目代表树节点 最佳答案 组
我的 iPad 屏幕上随机出现多个标签。重要的是它们都完全可见。因此,我使用下面的最后 4 行 Position 标签代码 来尝试确保标签的位置完全在屏幕框架内。然而,即使我在这一行中将 100 替换
我想在我的表格原型(prototype)单元格中声明 4 个标签,以便我可以将 Parse 中的所有数据检索到标签中。正如你在图片中看到的,有 4 个标签,我希望每个标签都有自己的 socket ,但
标 checkout 现又消失?
这个问题在这里已经有了答案: How to prevent buttons from submitting forms (20 个答案) 关闭 4 年前。 我有一个非常简单的程序,它使用 JS 将结
我刚刚编写了一个程序,其中有一个包含 JLabel 组件数组的 JFrame。该数组获取由 for 循环分配的单个标签的位置: for(int i=0; i
我不确定这个问题是否已在本网站的其他地方得到解答,但我很难用语言解释我的问题。这里是:我想做的是按用户选择的标签对crawler_results 中的文章进行排序。因此,文章中出现的标签越多(coun
尽管数据点不重复,但图表上的标 checkout 现了两次。 知道如何解决吗? 这是标签 json: labels: { rotation: -45, formatter: funct
我正在尝试使用 css 在屏幕上呈现 SVG。这是我的文件结构。 Root > Assets > Icon > user-icon.svg。所以,我正在尝试使用 CSS 来添加它: .user-ele
我正在向客户端应用程序发送一条消息 MarketDataSnapshotFullRefresh,但我在 toAdmin 方法中收到“标 checkout 现不止一次”。我得到的原始消息字符串是 8=F
在AndroidManifest.xml中,application标签有: android:label="@string/app_name" 并且 res/values/strings.xml 中的
有人尝试使用react-native-icons吗?我遵循以下步骤: npm install react-native-icons @ latest-保存 在XCode中,在项目导航器中,右键单击Li
在此页面中:enter link description here 没有任何在此表下的 HTML 中: Attribute Value Description ... 但是当我在 Google
我使用 Vaadin 7。我尝试使用以下代码更改组件的图标: Tree tree = new Tree("The Planets and Major Moons"); tree.setIcon(new
我已阅读以下内容 article .我正在尝试使用 BHO 扩展嵌入图标。但是,res://协议(protocol)在 HTTPS 站点中不起作用。在 HTTPS 站点中显示本地镜像是否有解决方法或替
我正在使用以下 HTML 代码: hr { border: none; border-top: 3px double #333; color: #333; overflow: visi
我无法弄清楚 背后的复杂逻辑元素实际上被放置。我想要一个有两行的表格。我想要每一行的标签,然后是一个输入框。我想要响应行为,当视口(viewport)变窄时,标 checkout 现在输入的正上方。
我有一个严重的问题 :( 我正在制作一个个人资料页面,我的 DIV 总是可点击的(这不应该发生),当我在 chrome 上检查它的元素时,它显示了所有 DIVS 上的一堆......我做到了不在这里写
我有一个以前没有遇到过的问题,我希望能得到一些相关信息。我有一个导航栏显示在网页的顶部,由于某种原因,当代码运行时,浏览器添加了一些 a>/a> 标签,这导致我的链接有一些...处置本身。我希望找出如
我正在使用 Fix 4.3 并遇到两个问题,如果我能解决一个问题,那么应该会消除第二个问题。 但是...我正在使用 QuickFIX 示例文件作为开始我的项目的方式,我能够连接到目标机器并获取市场数据
标 checkout 现在图片的底部吗?
我对这个 html/css 完全陌生,我正在尝试将带有背景的文本作为图像 float 。是的,我这样做了,但问题是文本 float 在图像的顶部。如果使用 margin-top 进行调整图片,它只是简
我是一名优秀的程序员,十分优秀!