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