注意:鹰眼SDK3.1.5版本增加隐私合规接口,设置用户是否同意鹰眼SDK隐私政策,默认不同意,设置为YES时才能创建Action,否则返回nil,将影响鹰眼SDK所有功能的使用。
since 3.2.0起鹰眼SDK新增鉴权服务,使用鹰眼服务前请务必完成鉴权,否则影响功能使用。
2015年11月26日
iOS SDK Beta1.1
2015年12月11日
iOS SDK Beta1.3
2015年12月31日
iOS SDK Beta1.4
2016年1月8日
iOS SDK v2.0.0
2016年2月18日
iOS SDK v2.0.1
2016年3月10日
iOS SDK v2.0.2
2016年3月23日
iOS SDK v2.0.3
2016年5月3日
iOS SDK v2.0.5
2016年5月24日
支持IPv6-only网络升级预告
2016年6月24日
iOS SDK v2.0.8
2016年8月10日
iOS SDK v2.1.12
2016年10月27日
iOS SDK v2.2.3
2016年12月16日
iOS SDK v2.2.6
2017年5月25日
iOS SDK v3.0.3
2017年6月30日
iOS SDK v3.0.4
2017年9月12日
iOS SDK v3.0.5
2017年10月23日
iOS SDK v3.0.6
2019年1月2日
iOS SDK v3.0.7
2019年5月10日
iOS SDK v3.1.0
2019年10月17日
iOS SDK v3.1.1
2020年9月20日
iOS SDK v3.1.2
2021年1月25日
iOS SDK v3.1.3
2021年10月20日
iOS SDK v3.1.4
2022年03月14日
iOS SDK v3.1.5
2022年12月07日
iOS SDK v3.1.6
2023年1月13日
iOS SDK v3.2.0
1. 支持实时轨迹追踪
2. 支持实时位置和历史轨迹查询
3. 支持地理围栏服务,实现当被追踪者进出设定地理区域时,云端自动推送报警
1. 修复停止追踪后关闭wifi时会异常的问题; 2. 修复与部分第三方库命名冲突的问题;
1. 在没网状态下也可以开始轨迹服务,此时如果mode是建立长连接并采集数据的模式,将会为您采集并缓存轨迹数据,如果此时为建立长连接但不采集数据的模式,将在网络恢复后,自动建立长连接,以接收推送消息。 2. 减少流量消耗.
1. 修复围栏报警推送问题
SDK分为开发和上架两个版本,其中:
- develop版SDK支持模拟器运行,仅用于开发时真机或模拟器运行
- distribution版SDK为上架版,当您的APP需要提交至APP Store发布,则需使用上架版SDK
两个版本的SDK均集合在SDK下载包中,请开发者根据情况使用。
1. 支持在startTrace后动态调整采集周期和打包周期 2. 新增三个定位相关属性(距离阈值、定位精度、运动类型) SDK已为这几个值设置了默认值的最优值,如果仍不满足需求,开发者可通过BTRACEAction类的setAttributeOfLocation方法中设置三个属性值,自定义触发定位的距离阈值、定位精度和被追踪者常用的运动类型,以合理控制耗电量和定位精度。 3. 新增onStartTrace方法的返回值 当已经开始轨迹服务后,如果中途有网络切换等导致的重新登录等情况,SDK会回调onStartTrace方法,返回状态码:10009,代表重新连接服务器成功。
1. 修复wifi切换时卡顿的BUG 2. 修复了已知的其他BUG,提升稳定性
修复了反复开始追踪和停止追踪之后,CPU占用率飙升的问题,提升稳定性。
1. 适配Xcode7.3 2. 适配iOS9.3
增加queryFenceStatusByLocation方法,通过指定的经纬度查询被监控对象的状态。
1. 创建围栏时,由之前的可同时监控5个对象,修改为仅可监控一个对象。
2. stopTrace之后将持续上传缓存数据。开发者调用stopTrace后,SDK会立刻停止采集轨迹,并回调onStopTrace方法返回状态。如此时有缓存数据且网络连通,会继续上传缓存数据直至上传完毕,此时会再次回调onStopTrace方法,返回数据上传完毕。
自6月1日起,所有提交至苹果AppStore的应用必须支持IPv6-only网络。iOS鹰眼SDK产品 确认需要升级支持,目前正在加急开发测试。预计在6月1日前发布Beta版, iOS鹰眼SDK升级时间预计在:(任何调整都将在本帖及时更新) 6月1日提供beta版支持IPv6,仅供集成测试,不可做发版使用 6月7日提供正式版,直接替换beta版本即可。
支持IPV6-only网络
1. 修复网络频繁切换时卡顿的BUG
2. 修复使用私有API导致上架审核失败的问题
1. 重载getTrackHistory方法,增加了processOption和supplementMode参数,用于在查询历史轨迹的时候,指定纠偏选项和里程补偿方式。
2. 新增queryDistance方法,用于查询里程数据
3. 新增createVertexesFence方法,用于创建多边形围栏
4. createCircularFence方法中,增加precision参数,用于指定触发围栏报警的轨迹点的精度,当采集到的轨迹点的定位精度大于此值的时候,该定位点不用于围栏报警的触发
1. 修复复杂网络环境下,轨迹采集中断的问题
2. 修复一些会导致crash的BUG
1. 新增客户端地理围栏(目前仅支持圆形)
2. 轨迹的查询,服务端围栏等所有使用HTTP协议的操作升级为HTTPS
注:本版本的SDK需要使用Xcode8编译。Swift工程使用本SDK时,需要将Build Settings中的Use Legacy Swift Language Version设置为Yes,否则无法编译通过。因为Xcode8同时支持Swift2.3和Swift3.0两个版本,本SDK目前仅支持Swift2.3版本,所以需要设置此选项。
从 v2.2.3版本开始,iOS SDK只支持真机环境,不支持模拟器。
1. 较长时间断网缓存了大量轨迹数据后,网络恢复时会加速上传缓存数据,而不依赖于打包周期。待缓存数据上传完毕后,再根据打包周期进行上传。
2. Swift语言调用SDK时,不再需要自己编写module.map文件,直接导入即可使用
1. 提供了开发版(支持真机和模拟器)和上架版(仅支持真机)两个版本的 SDK
2. 提供了 Swift 和 Object C 两种语言的 demo
1. 修复上传自定义字段时值为中文时崩溃的BUG
2.修复创建多边形地理围栏时参数错误的问题
1. 缓存轨迹区分entityName,且支持缓存信息的查询和删除
2. 新增实时纠偏接口
3. 新增关键字模糊查询 entity
4. 实时位置搜索新增周边搜索、矩形范围搜索接口
5. 新增里程计算接口,支持计算纠偏和里程补偿后的里程
6. 新增批量上传轨迹点接口
7. 新增服务端线型围栏和行政区围栏
8. 新增轨迹分析接口
9. API请求中增加tag字段,用于在响应回调中区分每个请求
1. 修复使用Xcode8.3以及Swift3导入SDK时编译失败的问题
2. 修复网络切换时服务运行异常的问题
3. 提升了服务运行稳定性
1. 对外的API接口由BTRACEAction一个,按照功能拆分为轨迹追踪、终端实体、轨迹、围栏、分析5个部分。分别通过BTKAction, BTKEntityAction, BTKTrackAction, BTKFenceAction, BTKAnalysisAction这5个类中的接口发起请求,通过BTKTraceDelegate, BTKEntityDelegate, BTKTrackDelegate, BTKFenceDelegate, BTKAnalysisDelegate这5个协议中的方法将响应回调给调用者
2. 取消BTRACE类,服务运行需要的基础参数由BTKAction中的initInfo方法设置
3. 服务控制与采集控制接口分离,分别由startService,stopService,startGather,stopGather这四个接口控制
4. 所有接口的输入参数改为对象类型
1. BTKEntityAction中增加行政区域检索和多边形检索终端的接口。
2. BTKAnalysisAction中行为分析接口增加了BTKDrivingBehaviorThresholdOption类型的属性用于设置自定义的分析阈值。
1. 内存泄漏
2. 修改注释使其更准确
1. 适配iOS11
2. 修复SDK的内存泄漏
3. 修复DEMO中的若干BUG
为了适配iOS11,在APP的info.plist文件中除了NSLocationAlwaysUsageDescription 字段,还需要配置上NSLocationAlwaysAndWhenInUseUsageDescription 和 NSLocationWhenInUseUsageDescription 字段
1. 修复采集周期和打包周期持久化失败的BUG,设置完采集和打包周期之后,下次开启服务或开始采集时,将使用之前设置的值,而不再使用默认值
2. 修复从非主线程调用 -(void)changeGatherAndPackIntervals:(NSUInteger)gatherInterval packInterval:(NSUInteger)packInterval delegate:(id <BTKTraceDelegate>)delegate; 方法时,采集和打包周期不生效的BUG
3. 修复某些复杂使用场景下,无法停止采集的BUG
1. 支持bitcode,官网下载的framework默认是开启了bitcode的,如果您不希望使用bitcode,可以通过命令自行剥离。例如:xcrun bitcode_strip -r BaiduTraceSDK -o BaiduTraceSDK
2. 支持查询SDK缓存轨迹点的里程,通过BTKQueryTrackCacheInfoRequest类中,新增的needDistance和distanceFilter属性,查询到的缓存信息中将增加distance字段代表里程信息。
3. BTKTraceDelegate中新增onGetCustomDataResult回调,通知开发者onGetCustomData回调的执行结果。
1. 修复了customData过大时,轨迹无法上传,导致CPU使用率飙升crash的问题。开发者在onGetCustomData中指定的当前时刻的自定义字段总长度不得超过1024字节,并且key要求为NSString类型,value要求为NSString或NSNumber类型
2. 修复部分场景下的内存泄露
3. 更新了Demo中地图SDK的版本
4. 其他若干BUG修复
1. 自V3.1.0版本开始,SDK上传轨迹数据开始计算PV(即:日配额),之前版本不受影响,详见鹰眼权限和配额说明。
1.新增查询指定时间段缓存轨迹里程功能:BTKQueryTrackCacheInfoRequest中新增startTime和endTime,支持查询指定时间段内的缓存轨迹和里程。
2.公共地理围栏性能提升,支持创建公共围栏个数从1000升级至10万(功能说明请点击)。接口调整如下:新增BTKAddMonitoredObjectRequest,BTKDeleteMonitoredObjectRequest,BTKListMonitoredObjectRequest三个请求类,支持给服务端地理围栏添加、删除、查询监控对象。BTKQueryServerFenceStatusRequest,BTKQueryServerFenceStatusByCustomLocationRequest,BTKQueryServerFenceRequest请求类中,新增page_index和page_size字段,支持分页检索。
3.轨迹查询与纠偏接口支持智能交通方式识别功能,支持对综合交通出行轨迹的智能纠偏(功能说明请点击)。接口调整如下:交通方式选项BTKTrackProcessOptionTransportMode中新增自动方式,由鹰眼自动识别交通方式。
4.轨迹查询与里程查询接口支持查询低速里程,即查询速度低于设定阈值的轨迹里程,可应用于网约车精细化计费。接口调整如下:接口BTKQueryTrackDistanceRequest,BTKQueryHistoryTrackRequest请求类中,新增lowSpeedThreshold字段,支持筛选出低速里程。
鹰眼iOS SDK V3.1.1开始支持在前台定位权限下使用,但App集成鹰眼SDK的最佳实践仍然是申请后台定位权限,后台定位的作用是保证应用退到后台时,仍然能持续获得轨迹,最大限度减少被系统杀死的概率。关于定位权限的配置,请参考开发指南中 http://lbsyun.baidu.com/index.php?title=ios-yingyan/guide/buildproject 配置工程说明。此版SDK具体新增内容为:
1. BTKTraceDelegate 中新增 -(void)onRequestAlwaysLocationAuthorization:(CLLocationManager *) locationManager; 回调函数,当鹰眼SDK需要申请后台定位权限时,会回调此方法,开发者可以这样实现此回调函数:
- (void)onRequestAlwaysLocationAuthorization:(CLLocationManager *)locationManager { [locationManager requestAlwaysAuthorization]; }
这样做的原因是:AppStore加强了定位权限的审核要求,如果App在plist文件中没有后台定位权限相关的配置,那么不能出现申请后台定位的代码。因此不需要后台定位的App就不需要实现此回调函数,可以通过上架审核。
2. 在onStartService回调的errorCode中新增BTK_START_SERVICE_SUCCESS_BUT_NO_AUTH_TO_KEEP_ALIVE 状态码,如果将keepAlive设置为true后调用startService时,还没有定位权限,则回调此状态码,代表轨迹服务开启成功,但是由于没有定位权限,无法实现保活,回调此状态码的同时,鹰眼SDK会根据用户选择的权限向系统申请对应的权限,如果用户选择的是前台或后台定位权限,那么在下一次开启轨迹服务时即可成功保活。
1.鹰眼iOS SDK V3.1.2开始需要开发者主动申请定位权限,详情可参考工程配置。
2.iOS 14 Beta版适配。
轨迹查询接口对齐web api,新增对长距离终端区间补偿轨迹点的策略,请求字段新增设置supplementContent接口,控制仅补偿里程还是同时补偿轨迹点,返回结果新增supplement字段,用于标识结果中补偿了轨迹点。
修复已知问题
升级OpenSSL库至1.1.1g
修复设置采集周期,设置缓存大小不回调问题
官网demo升级优化
BTKPrivacyAuthorization增加隐私合规接口setAgreePrivacy,使用方法请参考开发者注意事项
1.鹰眼SDK升级数据协议4.0。
2.增加采集轨迹上传结果回调onGetTraceDataUploadResult;
修复上传位置点时间戳异常问题;
1.新增鉴权服务及服务迁移。