Tag: Ibeacon应用开发

iBeacon基础和实施

iBeacon是一种低能耗的蓝牙设备,由Apple在iOS 7上推出。iBeacon类似于室内位置的GPS导航。 它是一种无线传感器设备,可用于在商店中感知位置或上下文。 它还可以用于在移动设备上发送要约或促销的通知(例如,您可能走过商店并在移动设备上收到折扣优惠券)。 苹果公司推出了低功耗蓝牙设备iBeacon。 iBeacon充当低功率设备的发送器,可将附近的iOS 7设备通知其存在。 就像室内位置的GPS导航和无线传感器设备一样,它们可以用作商店或大型购物中心的位置和上下文感知。 iBeacon还可以通过其推送通知用于促销活动,并将促销广告发送到附近的iOS设备。 目前,iBeacon已在245家零售商店和餐馆中使用,这有助于为其商店吸引更多人潮。 另一家大型企业PayPal最近宣布了Beacon,它将允许人们通过PayPal进行付款。 iBeacon价格更便宜,而且电池效率令人难以置信,价格从5美元到33美元不等。 截至目前,iBeacon在包括印度在内的许多国家/地区均不可用。 但是,我们作为一个团队很想对这项新技术进行试验和测试,并希望通过BOYD食品订购应用程序来实现广播和接收目的。 为此,我们将iOS设备转换为iBeacon,并通过我们的应用程序进行了测试,是的,我们取得了成就。 我知道您很好奇我们是如何做到的。 以下是详细的说明和代码,可帮助您创建iBeacon。 首先,您需要创建一个虚拟UUID,以便在广播者和接收者之间进行通信。 您可以从终端获取它,只需运行uuidgen以生成UUID。 让我们开始信标广播。 在Xcode中创建一个单一视图应用程序; 将其命名为“信标广播器”。 在项目中添加“ CoreBluetooth”和“ CoreLocation”框架。 现在进入“ ViewController.h”文件,导入“ CoreBluetooth”和“ CoreLocation”框架,声明“ CLBeaconRegion”和“ CBPeripheralManager”对象,添加一个UILabel插座以显示状态,并添加一个NSDictionary获取信标数据。 您的“ ViewController.h”文件将如下所示: 1#import 2#import 3#import 4 5@ interface ViewController : UIViewController 6 7@property (weak, nonatomic) IBOutlet UILabel *statusLabel; 8@property (strong, nonatomic) CLBeaconRegion *myBeaconRegion; 9@property […]

iBeacons和iOS:Rantmedia Hack Day

什么是iBeacon? iBeacon是由Apple开发的协议,该协议利用低功耗蓝牙将信息广播到收听设备和应用程序。 iBeacon广播三个重要信息:其UUID,主要ID和次要ID。 这些用于识别单个信标,并允许应用程序在靠近信标的情况下做出适当响应。 例如,事件中心可以设置一些iBeacon并将它们配置为使用相同的UUID。 在这种情况下,UUID标识信标的所有者。 每个信标可​​以被赋予不同的主要或次要ID。 然后,应用程序可以侦听具有给定UUID的任何信标,并在进入信标覆盖的每个不同区域时执行操作。 对于我们的Hack Day,我们使用Android应用程序BeaconToy设置了多个具有不同值的信标。 iBeacon与iOS集成 苹果在其CoreLocation和CoreBluetooth框架中包括对iBeacons的支持。 如果要编写只需要侦听iBeacon的应用程序,则需要使用CoreLocation,而如果要从应用程序中作为iBeacon广播,则需要CoreBluetooth框架。 出于Hack Day的目的,我们正在编写一个仅监听和响应信标而不是广播的应用程序。 构建一个iBeacons应用 如果您想继续,可以找到我们在Github上构建的应用程序。 总览 该应用程序使用CoreLocation的CLLocationManager监视CLBeaconRegion。 输入信标区域时,它将开始对区域内的所有信标进行测距。 远程信标以其UUID,主要和次要ID以及相对接近程度显示在表格视图中。 当输入区域时,如果应用程序未激活,我们还使用后台信标监视来显示通知。 创建一个新项目,并使用UITableViewController设置基本UI。 设置CoreLocation 在开始监视之前,我们需要设置视图控制器以导入CoreLocation框架,并设置CLLocationManager并使表视图控制器符合CLLocationManagerDelegate协议: 导入 UIKit 导入 CoreLocation 类 ViewController : UITableViewController , CLLocationManagerDelegate { 让 locationManager = CLLocationManager () 覆盖 func viewDidLoad (){ 超级 .viewDidLoad() locationManager.delegate = 自我 如果 CLLocationManager .authorizationStatus()!= .authorizedAlways { […]