Tag: ios

  • iBeacons

    iBeacons是iOS7的新增的功能,可用于室内近场定位。iOS设备可以检测到附近的iBeacons兼容设备,在当前版本中甚至可以在应用后台运行的情况下获得回调。 iBeacons设备往往都是低功耗的,用Bluetooth Low Energy低功耗蓝牙实现,设计良好的iBeacons设备在一节CR2032纽扣电池支持下应能支持一年以上的使用时间。 iBeacons还有一个有用的特性是可以距离感应,当你的iOS设备检测到了一个iBeacons设备,那么app即可通过CoreLocation监测设备的距离,通过回调的形式通知距离变化。 常见应用场景 可以有不少有趣的应用场景,随便列举一些。 商场购物时,靠近某些商品时,提示用户正在打折,或者查看商品的具体信息以及评价。靠近交费区域时,使用某一信用卡支付可以获得优惠。 室内导航,例如机场登机口指示 各种大会入场checkin,免去繁琐的签到流程 各种展览场所,当用户靠近某些展品时,就可以获得相应的介绍信息 什么时候应该使用iBeacons 同时需要检测多个区域 被检测区域可以是一个移动的区域,例如汽车,列车。。 检测区域范围有限的情况(一般不会大于100m) 每个区域需要一些标识做区分的情况 每个区域可以在室内,同一建筑物内,可以有重合 用户愿意开启低功耗蓝牙来检测区域 如何把iOS设备变成一个iBeacon 所有支持低功耗蓝牙技术的iOS设备都可以变成一个iBeacon设备,被其它iOS设备检测到。例如iPhone 4s, iPod Touch5, iPad3及之后的设备,都支持低功耗蓝牙技术。 定义你的iBeacon 首先需要了解4个属性 proximity UUID , 是一个iBeacon或一组iBeacons设备的唯一标识,标明它的类型,你可以用osx下的 uuidgen 命令生成 一个内部identifier ,你在app中自定义的标识 一个 major identifier, 可用于区分一组拥有相同proximity UUID的设备 一个 minor identifier, 可用于区分一组拥有相同proximity UUID和相同major identifier的设备 创建并广播一个iBeacon区域 首先需要定义一个CLBeaconRegion来实现iBeacon,如下 NSUUID *myProximityUUID = [[NSUUID alloc] initWithUUIDString:@”566C5595-6EC7-4F08-909F-C954BDCA6CD3″]; NSNumber *branchNumber…