我的iOS应用程序有一个非常奇怪的行为。虽然信标监控在大多数情况下工作正常,但有时会连续多次触发didEnterRegion和didExitRegion事件。信标本身就在手机旁边(大约15厘米),因此根本不应该有didExitRegion。我知道有可能松开触发退出的信标信号,但它在3分钟内触发了大约5次(进入和退出-所以10次调用)。这是一种非常罕见的行为,似乎是随机的。信标来自Estimote,并通过Estimote应用程序设置为-20dBm的广播功率,大约3.5米/12英尺(根据Estimote应用程序)和一个2000ms的广告间隔。我的CLLocationManager初始化if
我开发了一个基于iBeacon的小型应用程序,当应用程序检测到我们的一个iBeacon时,它会调用Web服务以获取数据集并向用户发送本地通知。所有这些都正常工作。我现在提出了这样的想法,即这些本地通知可能会在很短的时间间隔内发生变化,并包含新内容。问题在于,如果用户没有离开iBeacon区域并重新进入,应用程序将不会“唤醒”,用户也不会收到新的更新通知。在征求了有关如何解决该问题的建议后,有人建议使用远程通知。读到它我发现了静默远程通知,但我不确定我是否可以像我想的那样使用它们。我的想法是,当通知被修改或创建并与服务器上的iBeacon相关联时,向应用程序发送静默推送通知,以便它在不在
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion目前我正在从事IBMMobilefirst和estimoteibeacon集成方面的工作。我没有找到任何使用estimoteIbeaconAPI开发混合应用程序的文档。我们能否将EstimoteIbeacons与IBMMobileFirst集成。
对于特定的业务案例,我想通过利用iBeacon技术来触发基于接近度的通知(推送或UILocalNotification)。这是为了在应用程序处于后台/锁定屏幕时工作。我有一些特定的限制:该产品必须在特定级别进行扩展,因此不可能涵盖20个区域。我们将仅使用一个UUID(如果我们开发一组新功能,可能是2或3个,但我们不会为每个物理信标注册一个区域)我们将使用major和minor来调用webservices关于这一点,我知道我将不得不使用以下方法:首先didEnterRegion:没有关于主要/次要/距离的先验信息,然后didRangeBeacon:执行更高级的操作。考虑到信标的快速发射率
我有一个监控iBeacons进入/退出事件的应用程序。当它接收到事件时,它会将事件转发给服务器。在用户最小化和/或强行关闭应用程序(因此它在后台正常工作)后,该应用程序继续工作(例如,服务器继续接收更新)。但是,在手机离开任何iBeacons足够长的时间(例如,一夜之间)并再次靠近iBeacons后,应用程序将停止接收进入/退出更新,直到用户再次打开它(将其打开)进入前景)。如果用户此时最小化/关闭应用程序,更新将继续在后台正常运行。我需要做些什么来允许在后台长时间运行监控更新吗?一段时间后iOS是否停止后台监控?注意:我运行的是iOS9.3.1 最佳答案
一段时间以来,我一直在为蓝牙LE苦苦挣扎,按照涉及使用Bluez堆栈的众多在线教程之一,我可以成功地将RaspberryPi变成iBeacon。但是我注意到,在使用AppStore中可用的iOS应用程序测试iBeacon时,我可以连接到iBeacons并请求它们的服务(或者至少这是某些应用程序的意图)。我的目的是广播一条消息,比方说“HelloWorld”,这样我就可以在自定义iOS应用程序中看到它;然而,由于iBeacons仅根据UUID配置文件发布位置数据,因此我陷入了困境。根据上面提到的iBeacon应用程序的行为,它们似乎试图读取iBeacon的服务,我在想也许我可以在我的iB
每当我们进入或离开中的某个区域时,我都会显示本地通知locationManager:didRangeBeacons:inRegionmethodofCLLocationManagerDelegate:类似这样的..//localnotificationsentfromtransmittertoreceiverswitch(beacon.proximity){caseCLProximityNear:message=@"Youareneartheibeacondevice";bgColor=[UIColorblueColor];break;caseCLProximityImmediate:
我正在尝试为我的应用添加iBeacon支持。我没有任何物理iBeacon,所以我在另一部iPhone上使用RadiusNetworks的Locate应用程序。使用该应用程序,我可以看到其他手机的信标。但是,在我自己的应用程序中,didRangeBeacons永远不会被调用。我确保将CoreLocation和CoreBluetooth框架添加到我的应用程序中。有什么想法吗?这是我的代码:-(instancetype)init{self=[superinit];if(self){self.locationManager=[[CLLocationManageralloc]init];self
我在使用iBeacon时遇到了一些重大问题。我完全不知道如何控制触发某种事件(如通知)的距离。我只允许在进入或退出区域时发送通知,但我想在靠近或立即/我在文档中哪里遗漏了这些东西?谢谢! 最佳答案 简短的回答是你不能。一旦检测到信标,信标就会进入该区域。您可以做的是同时打开进入/退出通知和信标测距。然后在您的应用程序的locationManager:didRangeBeacons:inRegion:处理程序中,您可以使用邻近属性(远/近/即时)或使用“准确度”读数(这实际上是一个命名不当的近似距离读数。)您会忽略测距通知,直到您确定
我正在使用我的iBeaconiOS应用程序。我开始使用Xcode5.1进行编码。那时每个代表都被召集了。但是当我将我的Xcode更新到6.0.1以支持iOS8中的应用程序时,以下委托(delegate)方法没有被调用(在设备中测试):-(void)locationManager:(CLLocationManager*)managerdidExitRegion:(CLRegion*)region它在iOS7中运行完美。任何人都可以为我建议任何可能的解决方案吗?提前致谢。 最佳答案 将此与您的locationmanager实例一起使用s