苹果基于Swift的iBeacon应用开发,带有适用于iOS 7/8的CoreLocation

如今,许多用户更喜欢使用Apple的新编程语言Swift开发其iBeacon应用程序。 为了增强开发能力,Apple的开发人员更喜欢使用Swift,Xcode 6和iOS 8。

在过去的几年中,iBeacon应用程序的开发已大规模增加,这为开发人员提供了广泛的机会来了解iBeacon技术并通过使用它来构建其重要的应用程序。 如果您是iOS开发人员,则可以轻松高效地开发基于Swift的iBeacon App。 以下是一些基本步骤,开发人员在开发有价值的基于Swift的iBeacon模板应用程序时需要遵循这些步骤。

1.创建一个Swift项目

在第一步中,从“文件”菜单中选择“新建”->“项目”。 然后从左侧菜单中选择“ IOS应用程序”,然后从右侧选项中选择“单视图应用程序”。 然后单击“下一步”。

2.配置项目选项

在下一步中,配置项目名称,组织名称和组织标识符。 另外,请确保选择“ Swift”作为语言,然后选择“ iPhone”作为设备。

3.将CoreLocation框架添加到项目中

在下一步中,在文件浏览器中单击主项目条目。 然后选择“常规”选项卡。 然后滚动到底部,然后单击+添加一个链接框架。 添加CoreLocation.framework后,您可以在列表中找到它。 只需选择它,然后单击添加按钮。

但是,如果要更改旧版本的iOS应用,请在“常规”设置中进入“部署”目标。 6.x进入7.0版本,因为它无法正常工作,并且没有必要的CoreLocation功能,并且无法与Swift一起执行。

4.配置后台功能

要执行后台测距和监视以及接收通知,应用必须在后台使用位置更新和Bluetooth LE配件。 要实现此目的,请在文件浏览器中单击主项目条目。 选择功能选项卡和背景模式,然后将它们打开,然后检查位置更新并使用Bluetooth LE配件。

5.定义要监视的区域

在这一步中,我们将在AppDelegate.swift中的application:didFinishLaunchingWithOptions方法中进行设置。 最初,我们需要导入CoreLocation标头,然后为信标设置带有UUID的CLBeaconRegion。 UUID是标识信标或信标集的标识符。

6.设置位置列表项始终

对于iOS 8,需要始终运行位置监控的特殊权限,其中还包括iBeacon测距。 因此,您需要添加一个特定的plist条目,使iOS能够通知用户为什么他们需要此权限。

在此步骤中,在支持文件下的文件浏览器中输入,打开Info.plist。 然后选择第一行“信息属性列表”。 要添加行,只需单击小加号即可。 为它提供密钥(在左列)NSLocationAlwaysUsageDescription。 然后将type设置为String,然后在提示他们输入位置权限时,将其值设置为您要用于通知用户的任何字符串。

7.设置CLLocationManager进行前景/背景监视和测距

定义区域后,我们需要指示设备对其进行监视。 为此,我们需要创建一个CLLocationManager实例,并指示它开始监视刚刚创建的区域。 我们还需要定义一个“代理”,一个对象在位置管理器发生任何事情时都会得到通知。

在此步骤中,您需要导入CoreLocation标头。 然后,您需要指示编译器我们的AppDelegate类将实现CLLocationManagerDelegate协议,并声明一个属性以保存我们的CLLocationManager对象,以便它在应用程序的整个生命周期内都有效。 稍后,在didFinishLaunchingWithOptions方法内部,您需要创建CLLocationManager实例。 然后,您请求“始终”授权以获取位置信息。 由于这是iOS 8中的新方法,因此您需要首先检查CLLocationManager是否响应选择器。

8.清理

当通过后台通知实施后台测距时,您将收到大量冗余警报,大约每秒一次,因此我们需要进行修改以仅在范围更改时才向我们发出警报。 为此,您需要添加一个位置来存储最近的接近度读数。 然后将以下属性添加到AppDelegate.swift的顶部,就在窗口和locationManager的声明下方。 如果距离没有改变,或者暂时未知,它不会重新提醒我们。

9.前景展示

后台模式工作正常完成后,您需要专注于前台的应用程序。 在前景广阔的应用中,我们有一个纯白色的屏幕,没有任何提示。 让我们通过添加UITableView并用有关范围内所有信标的信息填充它来解决此问题。

完成此步骤后,只需打开Main.storyboard文件。 然后选择主视图以使其聚焦。 然后,在列表中找到一个表视图。 只需将其拖动到视图上并对其进行位置和缩放即可使其占据整个视图,但顶部状态栏所占据的区域除外。

结论

通过遵循上述要点,您可以使用Swift构建iBeacon应用程序,该应用程序可以轻松地在前景和背景中排列信标,以及显示数据和推送警报。 现在,您知道iBeacon如何与iOS 7/8一起使用。 但是,如果您是Android开发人员,并且想使用iBeacon,那么在学习和指导下,您可以通过iBeacon Implementation on iOS轻松创建一个应用。

Interesting Posts