Tag: 信标

iOS ile iBeacon deneyimlerim

Merhaba, Buyazıdasizlere信标teknolojisiyleyazılımgeliştirebilmehakkındayaşadığımtecrübeleriaktarmayaçalışacağım。 玛鲁姆(Malum),德国人(Kainakların)的遗产,奥尔尼达(Deurim)vb。 支付宝公司的广告业务。 İlkyazımolduğuiçin,她的孩子(imla,yazımyanlışıvs.)hatadandolayıözürdilerim。 Beacon veya iBeaconaynıanlama gelen kavramlar。 苹果灯塔和苹果灯塔在苹果灯塔和苹果树上,灯塔在灯塔上发光。 Peki tam olarak nedir bu信标? Basitçeşöyletanımlamayaçalışayım; Belirli bir alandakonumlandırılmış信标信标telefonlarınızil​​e dinleyerek bu信标信标telefonlarınızüzerindetepkiler alabiliyorsunuz。 Cihazlar builetişimi蓝牙低功耗(BLE)Teknolojisini kullanaraksağlıyorlar。 Örnekvermek gerekirse,从她的birinde Beacon信箱cihazlarıkonumlandırılmışolsun。 Sizmağazaiçindefarklıreyonlarda gezerkenbulunduğunuzreyondaki(konumdaki)信标cihazıileakıllıtelefonunuzetkileşimegeçipsize or reyona(konuma)özelbir bildirim,kampany,bilgilendirmeor。 Şimdiyazılımsalolarak信标teknolojisini iOS ilenasılgeliştirebilirizonuörneklemeyeçalışacağım。 #import kütüphanesiniimport etmemiz gerekiyor。 CLLocationManagerDelegate和 CBCentralManagerDelegate委托’lerini类’ımızabağlıyoruz。 Beacon集成了蓝牙,蓝牙和蓝牙。 Bunu kontrol edebilmekiçinşöylebir metodyazıyoruz。 4. centralManagerDidUpdateState委托metoduiçindeRegion初始化metodunu调用ediyoruz。 5. initRegion辅助方法 6.Kullanıcınınha​​ngi地区state’içindeolduğunubulmak地区, requestStateForRegion调用edilir。 7.Kullanıcının地区state’i […]

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 { […]

SwiftLocation – Daniele Margutti –中

借助SwiftLocation轻松进行位置管理器和信标监控 SwiftLocation是一个简单而强大的库,可让您轻松处理位置和信标监视,而无需担心CoreLocation设置,也无需在需要获取或使用用户当前位置的任何地方实现无聊的委托。 该库的主要目标是减少准备诸如移动设备的位置管理器之类的常见事物所需的代码量。 旧的可可模式需要您实施大量的样板代码才能获得简单的数据。 幸运的是,随着Swift的引入,iOS和Mac开发中的许多事情都在发生变化,我们被鼓励使用新的模式和范例,例如函数式编程(实际上是很旧的,很古老),以减少编写代码并提高可读性。 让我向您展示一些例子! 假设您需要准确获取当前用户的位置; 我们不需要连续的位置,并且如果相关的精度较低,我们也不想获得所有位置。 使用CLLocationManager,我们需要: 实施授权请求,等待用户响应并开始监视会话 实现CLLocationManagerDelegate协议的所有必需的委托 如果相同的代码在不同的精度要求之间共享,我们需要根据需要过滤任何无效的位置,直到找到正确的位置,然后停止所有 这是一个工作示例: 大约有30行代码只能获取当前用户位置。 而且,除非尝试创建通用类,否则应在应用程序中的所有位置重复此样板代码。 使用SwiftLocation可以减少所有内容: 很好啊? 使用类似的代码,您还可以监视连续更新的位置,只需将频率参数从.OneShot更改为.Continuous(根据您的需要,您也只能获得重大更改或以指定的行驶间隔更改)。 有时,您可能只需要获取一个大概的位置,而无需启动电话的GPS硬件(并向用户弹出授权对话框)。 在这种情况下,您可以仅使用电话的IP地址获得有效的CLPlacemark: SwiftLocation还可以帮助您反转地址字符串并获取CLPlacemark对象:它同时支持Apple和Google服务; 像往常一样,您只需一行代码即可实现: SwiftLocation还允许您监视地理区域,并在进入和退出事件时得到通知: 虽然所有这些功能都是由LocationManager单例类提供的,但是SwiftLocation中还有另一个单例,如果您使用信标,则可能会对您有所帮助。 BeaconManager允许您: 监视信标家庭或信标 用您的设备模拟信标(由于Apple自有类的某些限制,它只能在前台使用) 通过调用monitorForBeacon()或monitorForBeaconFamily()函数,Beacon监视既可在后台运行,也可在前台运行。 想进一步了解SwiftLocation? 您有新功能的想法吗? 在SwiftLocation的GitHub页面上告诉我!