地理位置插件 5.0.0 发布!
2023 年 9 月 21 日
我们很高兴地宣布,我们刚刚发布了 cordova-plugin-geolocation
的更新!
升级方法
cordova plugin remove cordova-plugin-geolocation
cordova plugin add [email protected]
版本亮点
重大变更
- 现代 JavaScript
该插件的 JavaScript 已升级为使用 ES6 功能,例如 let
和 const
。
注意:此版本未能升级所需的引擎。尽管声明了对 cordova-android
>= 6.3.0 的要求,并且没有声明对 iOS 的要求,但新的最低要求将是
- cordova-ios 6 或更高版本
- cordova-android 10 或更高版本
这些平台的早期版本可能无法按预期工作。与以往一样,建议使用最新的可用版本。引擎可能会在稍后的补丁版本中得到纠正。
- 放弃对 Cordova Windows 的支持
此版本已放弃并完全删除了对已弃用的 cordova-windows 平台的支持。
重要修复
-
iOS 上地理位置序列化的健全性检查
在 iOS 上进行 JSON 序列化期间,罕见的
Infinity
值会导致崩溃。现在已捕获此错误,并将正常生成位置不可用错误。 -
改进的 Android 权限处理
Android 修复了在处理粗略位置和精细位置权限时的问题,以提高在 Android 12+ 设备上的兼容性。 Android 现在将处理以下情况
- 仅包含
COARSE
位置的权限请求。 - 包含
COARSE
和FINE
(高精度)位置的权限请求。 - 当授予
COARSE
但需要FINE
时的权限升级。
- 仅包含
有关这些更改的更多详细信息,请参阅 PR。
- 改进的 W3C 合规性
对 heading
和 speed
进行了修复,以更好地符合 W3C 地理位置 API 规范。如果确定其中任何一个值不在预期的有效范围内,它们现在将返回 null
,以便在 Cordova 和其他 Web 环境之间提供更好的一致性。
请按照此 如何提交错误 指南报告您发现的任何问题!
更改日志
重大变更
修复
- GH-270 fix: 朝向速度 W3C 规范 (#270)
- GH-250 (android) fix: 在 Android 12+ 上检查/请求权限时遵守请求的位置精度。修复请求粗略权限导致 API < 32 时出现超时错误的问题。
- GH-231 (ios) fix: 检查从原生 CLLocation 数据构造的 NSDictionary 在尝试转换之前是否对转换为 JSON 有效。防止由于 JSON 转换无效的值(如 INFINITY)导致的崩溃。
其他更改
- GH-247 ci(android): 更新
cordova-android
@11 的 java 要求 (#247) - GH-241 ci(ios): 使用 iOS 15 更新工作流 (#241)
- GH-239 ci: 添加 action-badge (#239)
- GH-238 ci: 移除 travis & appveyor (#238)
- GH-236 chore: npmrc (#236)
- GH-234 ci: 添加 gh-actions 工作流 (#234)
- GH-217 ci: 将 node-14.x 添加到工作流 (#217)
- GH-251 ci: 与 paramedic 同步工作流 (#251)
- GH-249 dep(npm): 使用重建提升 package-lock v2 (#249)
- GH-268 ci(gh-action): 与 paramedic 配置同步 (#268)
- GH-261 ci: 与 paramedic 同步。移除 API 22 & 31,添加 API 24 & API 33 (#261)
- GH-265 chore: package-lock (#265)
- GH-269 test(windows): 从测试中删除 window 平台引用 (#269)