Tag: ibeacon

我可以向组内的单个iBeacon设备发送消息吗?

我只是读了一下iBeacon,我可能想用它来做一个我目前正在参与的项目。我现在所理解的是: 简而言之,一个iBeacon设备向任何范围内的人广播一条消息。 该消息包括发送者的MAC地址,并且从其信号强度中,接收者可以计算距离。 iBeacon设备既可以是发件人,也可以是接收者,或者兼而有之。 1)首先; 它是否正确? 其次,在维基百科页面上,我读到it could enable payments at the point of sale (POS) 。 因为我明白,这基本上是一个非常本地的广播服务,我只是想了解如何这样的工作。 2)如果付款,商店或客户开始付款? 3)你将如何防止其他附近的设备拿起支付信息? 4)最后; 是否有可能发送一个iBeacon消息到只有一个iBeacon设备标识其MAC地址? 任何提示和见解都非常受欢迎!

ios中离线室内导航中的当前位置

作为我的基于ibeacon的ios应用程序的一部分,我必须在离线室内地图中find用户的当前位置,我使用mapbox SDK显示我的离线室内地图,有任何方法来计算用户位置的帮助下由beacons.thanks提前。

kontakt.io信标的问题

我们刚刚收到了10件。 一套来自kontakt.io(波兰)的信标。 不知何故,他们似乎不能正常工作,或者我们没有恢复如何正确地操作。 在我们将它们踢走之前,有人可以告诉我这是否是信标(iOS)的常见行为? 我们确实收到了恒定范围的通知,但是这些通知不包含范围内的信标,既不在我们自己的testing应用程序中,也不在苹果的AirLocate示例或官方的kontakt.io应用程序中。 我们总是需要closures和打开蓝牙来查看任何内容,AirLocate显示了一些,但信息不足(总是显示“Unknown”),我们自己的testing应用程序只接收一个信息,而不是所有10个信标,尽pipe它们在里面范围内,而kontakt.io应用程序不会显示或触发反色。 当我们能够在AirLocate例子中看到范围内的信标时,列表自动填充(在切换蓝牙状态之后),但是在几秒钟内丢失所有信标。 这是一个错误configuration,因此我们的错,我们是否获得了破坏的信标,或者这是共同的行为…? 任何帮助赞赏。 谢谢!

stopRangingBeaconsInRegion可能会停止监视区域的通知?

我正在做一个与CLLocationManager工作的示例项目。 我打电话给startMonitoringForRegion 。 然后,我开始用其他设备模拟一个信标,并didEnterRegion 。 在didEnterRegion ,我调用startRangingBeaconsInRegion并正常工作。 然后,我暂停信标发射器和didExitRegion被调用。 在didExitRegion我调用stopRangingBeaconsInRegion 。 如果我再次启动信标发射器, didEnterRegion不会被调用。 我在Apple文档中find了这个: stopRangingBeaconsInRegion:停止指定信标区域的通知传递。 stopRangingBeaconsInRegion可能会停止监视区域的通知? 我尝试没有stopRangingBeaconsInRegion相同,工作正常。 谢谢 添加更多信息: NSUUID *UUID = [[NSUUID alloc] initWithUUIDString:@"77777777-1717-2727-7777-777777777777"]; NSString *identifier = @"MyBeaconRegion"; CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:UUID identifier:identifier]; [_locationManager startMonitoringForRegion:region]; – (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region { NSLog(@"didEnterRegion"); [_locationManager startRangingBeaconsInRegion:(CLBeaconRegion*)region]; NSLog(@"StartRangingBeacons"); } – (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region { NSLog(@"didExitRegion"); […]

AirLocate仅查找特定的UUID吗?

我一直在testing一些iBeacons – 我将信标的UUID设置为默认值以外的值,AirLocate没有find它。 AirLocate只寻找特定的信标UUID或者我做错了什么? 谢谢!

iBeacon监视和后台测距

我花了几个月的时间来开发一个基于iBeacons的应用程序,我感到非常沮丧。 总的想法是,当检测到信标时,通知用户特定于该信标的信息。 该应用程序devise如下,所有iBeacons具有相同的UUID,主要决定build设(博物馆,商店…)和次要的具体产品(图片,鞋…)。 所以这个应用程序可以为多个客户端 当应用程序启动时,我开始使用我们的UUID对区域进行监视和测距。 当应用程序在前台,所有的作品完美。 但是在后台或暂停状态下,问题就开始了。 测距不允许在背景或暂停状态。 我知道,当您进入或退出信标区域时,应用程序将被启动到后台大约5秒钟。 你可以在这里做五秒钟的时间,之后iOS会暂停你的应用程序。 我用这里学到的技术在后台扩展了3分钟。 我也得到一个额外的callbacknotifyEntryStateOnDisplay = YES; 但是,这是不够的,如果客户进入一个地区的应用程序在后台或暂停状态,他将被通知。 在额外的3分钟内,如果测距检测到另一个iBeacon,他将被通知,但是当3分钟后台任务过期时,如果没有区域出口被触发,他将不会再收到任何通知。 在这种情况下是否没有真正的解决scheme? 我认为这是一个非常普遍的情况,我很惊讶没办法处理它。 编辑:我试图find一个解决scheme,通过监测两个地区的build议大卫杨在他的回应。 为了获得更多的进入/退出地区的事件。 我添加了我实现的代码来尝试监视两个区域。 但是我做了不正确的事情,并做了RangeBeacons:InRegion:callback是每10毫秒发射预计是每秒。 在AppDelegate.m ,我正在做didFinishLaunchingWithOptions:的以下内容didFinishLaunchingWithOptions: [self.locationManager startMonitoringForRegion:self.beaconRegion]; [self.locationManager stopRangingBeaconsInRegion:self.beaconRegion]; [self.locationManager startRangingBeaconsInRegion:self.beaconRegion]; [self.locationManager startMonitoringForRegion:self.beaconRegion2]; [self.locationManager stopRangingBeaconsInRegion:self.beaconRegion2]; [self.locationManager startRangingBeaconsInRegion:self.beaconRegion2]; 然后,在didRangeBeacons:InRegion: – (void) locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{ if(beacons.count > 0){ [self.locationManager stopRangingBeaconsInRegion:region]; for (CLBeacon *beacon in beacons){ […]

如何启动由Xamarin iOS中的iBeacon触发的GPS跟踪?

我正在开发一个应用程序,通过跟踪GPSlogging行程。 如果我们从前台开始这个过程 (通过点击“Start Journey”button),一切都在后台工作正常。 现在想法是开始logging这些由iBeacon自动触发的行程。 当iPhone进入一个信标区域,应用程序正在检测到这一点,并调用函数LocationManager.StartUpdatingLocation(); 问题:从后台使用iBeacons,我们只能得到10秒的距离,这是我得到从GPS获取位置更新的相同数字。 我所需要的是检测到我在信标区域内,启动GPS并保持运行,并且只在我在该区域外时禁用GPS。

如何在Objective-C中使用startMonitoringForRegion扫描多个区域

我已经经历了两个教程,正在阅读基本的C语言。在过去一周左右的时间里,通过学习做了最好的学习,并写了一些轻量级的应用程序。 赶快写一些将使用ibeacon的应用程序。 正如我正在通过一些样本,阅读参考指南,我看到,可以扫描多个区域通过运行startMonitoringForRegion为每个UUID。 好的,所以我想我可以运行它为每个UUID,但这是行不通的。 我敢肯定,我正在做一些基本上完全错误的东西…下面的代码是一个彻头彻尾的破解 – 一旦我得到的语义,我将从一个数据库调用API的UUIDs,并通过它们来激活监控。 下面的代码在最后一个循环中仅显示四个UUID中的两个。 在标题中: @property (strong, nonatomic) CLBeaconRegion *myBeaconRegion; @property (strong, nonatomic) CLBeaconRegion *myBeaconRegion2; @property (strong, nonatomic) CLBeaconRegion *myBeaconRegion3; @property (strong, nonatomic) CLBeaconRegion *myBeaconRegion4; 主要: NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"86E4BDEA-C6FF-442C-95CB-E6E557A23CF2"]; self.myBeaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"com.appcoda.testregion"]; NSUUID *uuid2 = [[NSUUID alloc] initWithUUIDString:@"C9AFF296-A722-4F2D-8669-47B7CCC79A14"]; self.myBeaconRegion2 = [[CLBeaconRegion alloc] initWithProximityUUID:uuid2 identifier:@"com.appcoda.testregion"]; NSUUID […]

CLLocationManager kCLErrorDomain代码?

使用iBeacon和CoreLocation我收到以下错误: 错误域= kCLErrorDomain代码= 16“操作无法完成(kCLErrorDomain错误16.) 除非我错过了它,否则对于每个错误代码的含义,Apple似乎都没有明确的参考。 任何人都可以解释这个错误代码? 错误来自: – (void)locationManager:(CLLocationManager *)manager rangingBeaconsDidFailForRegion: (CLBeaconRegion *)region withError:(NSError *)error{ NSLog(@"%@", error); } – (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error{ NSLog(@"%@", error); }

iBeacons:如果app在后台,locationManager:didEnterRegion:仅在locking屏幕显示时被调用

我正在为监视iBeacon地区的iOS应用程序工作。 当应用程序在后台运行时,我希望它在遇到特定的iBeacon区域时发送本地通知。 一切工作正常,除了一件事︰locationManager:didEnterRegion显然不会被调用,直到用户显示locking屏幕。 因此,即使设备在应用程序处于后台时通过iBeacon区域,它们也不会在显示locking屏幕之前收到通知。 我也尝试过使用startMonitoringForRegion,这种工作 – 如果应用程序在后台运行,locationManager:didDetermineState:当设备进入iBeacon区域时触发。 但是,它只会这样做 – 如果用户随后退出并重新进入iBeacon区域,则locationManager:didDetermineState不会再次触发。 我正在运行iPhone 5s,并使用iPhone 4s作为iBeacon,如果这有什么区别的话。 更正:这种现象显然只有当我使用iPhone 4s作为客户端时才会发生。 如果我使用5秒,则通知立即发送。