美文网首页唤起app
IOS iBeacon的使用

IOS iBeacon的使用

作者: LiWeiJ | 来源:发表于2016-12-12 11:59 被阅读0次

@end

与之前一样,你需要初始化位置管理器并设置它们的 delegate 。

在 application:didFinishLaunchingWithOptions: 的顶部添加如下语句:

self.locationManager = [[CLLocationManager alloc] init];

self.locationManager.delegate = self;

乍一看,这好像有些太简单了。当你的应用加载时,新分配的 CLLocationManager 实例有什么用?它又如何知道要监视的区域?

回想到在你的应用中任何你使用 startMonitoringForRegion: 添加的监视区域都被所有的位置管理器共享。所以你免费得到的一点持久化,实在是极有帮助。

若没有这个功能,就将由你来找出哪些区域正在被监视并在应用加载时重新开始监视它们。但就算这样也不够,因为你的应用还不知道在遇到某个区域时就醒过来。

感谢 Apple 在 Core Location 中已经为你做了许多繁重的工作。这里的最后一步只是简单地在 Core Location 遇到某个区域并唤醒你的应用时做出响应即可。

添加如下方法到 RWTAppDelegate.m 地底部:

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {

if ([region isKindOfClass:[CLBeaconRegion class]]) {

UILocalNotification *notification = [[UILocalNotification alloc] init];

notification.alertBody = @"Are you forgetting something?";

notification.soundName = @"Default";

[[UIApplication sharedApplication] presentLocalNotificationNow:notification];

}

}

你的位置管理器将在你离开某个区域时调用上面的方法,这就是这个应用有用的时刻。你不需要在你接近你的电脑包时被告知,只需在你离开它太远时通知你。

此处你检查区域是否是一个 CLBeaconRegion ,因为如果你同时也在执行地理定位区域监视的话,它还可能是一个 CLCircularRegion 。然后你就发送一个本地通知,附带一个消息“Are you forgetting something?” 。

编译并运行你的应用;离开某个你的注册的 iBeacon,然后一旦你离开得足够远,你就会看到通知弹出来。

ForgetMeNot-notification

如果你实际上不可能离开你的 iBeacon 太远(译者注:房间太小?),那就将它的电源关掉或者移除它的电池以便测试这个功能。

注意:最后关于 iBeacon 和 iOS 行为的记录:

iOS 7.1 添加了当它遇到被监视的 iBeacon 时从后台唤醒应用的能力。之前,用户需要打开应用以响应通知,但现在全都免费工作了!

Apple 以未文档化的方式推迟“退出通知(exit notifications)”。这可能是特别设计的,以便你的应用不会过早收到通知,比如你在某个范围的边缘游荡或者这个 iBeacon 的信号暂时中断。在我的经验里,“退出通知”通常在某个 iBeacon 离开范围的一到两分钟之后才发生。

译者注:这是不是也太迟了?

下一步怎么走?

现在你有一个有用的应用帮你监视那些你很难找到和监控的事物。

你可以在此下载最终的项目。

用一些想像力和编码能力,你给此应用带来了许多真正有用的特性:

当条目离开区域时通知用户

重复通知确保用户看到

在 iBeacon 回到区域时提示用户

……或者其它任何你能想像到的事

这个 iBeacon 教程只是碰到 iBeacon 的可能性的一点皮毛而已。在本教程的开头,我提供了一些文章链接显示职业棒球大联盟和商场正在如何以非常参与的方式(in very engaging ways)使用着 iBeacon 。

iBeacon 并不局限于自定义应用;你也可以将它们与 Passbook 的通行证一起使用。试想一下,当你跑进电影院;你就能用 Passbook 得到电影票。当顾客走近验票人员时,他们的应用将自动在 iPhone 上显示票据。

如果你有关于本教程的任何问题或评论,或着任何使用 iBeacon 的新点子,欢迎加入下面的讨论!

相关文章

  • 开发使用 iBeacon 的 iOS 7 应用

    开发使用 iBeacon 的 iOS 7 应用 开发使用 iBeacon 的 iOS 7 应用

  • iOS 中 iBeacon 开发

    iOS 中 iBeacon 开发 iOS 中 iBeacon 开发

  • iBeacon开发学习资料整理

    开发使用 iBeacon 的 iOS 7 应用:http://www.cocoachina.com/industr...

  • iOS蓝牙开发之iBeacon

    1. iBeacon的使用 1、iBeacon的使用是基于蓝牙和定位的,所以我们需要先到入两个库: 在iOS8之后...

  • iOS iBeacon 使用

    最近做一个店铺签到获取积分的App,用到了iBeacon,蛮好玩的一个小玩意,简单来说iBeacon这个小设备,可...

  • IOS iBeacon的使用

    @end 与之前一样,你需要初始化位置管理器并设置它们的 delegate 。 在 application:did...

  • iBeacon 应用实例

    iBeacon是什么?     苹果官方对iBeacon的描述:iBeacon是iOS 7推出的一项技术,可为AP...

  • iBeacon相关知识

    从iBeacon开始 入门iBeacon概述 在iOS 7中引入的iBeacon是一项令人兴奋的技术,可以实现新的...

  • ibeacon 技术记录

    ibeacon是苹果公司在ios7发布的一款硬件,可以感知ibeacon的位置。ibeacon 只是一个硬件设备,...

  • iOS iBeacon基站开发

    iBeacon在iOS 7之后的版本中有内置库,直接引入就可以使用 #import

网友评论

    本文标题:IOS iBeacon的使用

    本文链接:https://www.haomeiwen.com/subject/tjpupttx.html