博客 RSS 订阅

Camera 7.0.0、Media 7.0.0 和 File-Transfer 2.0.0 发布!
作者:Bryan Ellis
2023 年 9 月 12 日

我们很高兴地宣布,我们刚刚发布了以下插件的更新!

升级方法

cordova plugin remove cordova-plugin-camera
cordova plugin add [email protected]

cordova plugin remove cordova-plugin-media
cordova plugin add [email protected]

cordova plugin remove cordova-plugin-file-transfer
cordova plugin add [email protected]

发布亮点

cordova-plugin-camera

  • Android 13 支持

    在此版本的 camera 插件中,WRITE_EXTERNAL_STORAGE 权限的 maxSdkTarget 已设置为 32。做出此更改的原因是该权限已被弃用,并被 Android 13 更精细的权限 READ_MEDIA_IMAGESREAD_MEDIA_VIDEO 取代。此外,getPermissions 方法已得到改进,可以根据 Android 版本准确获取所需的权限。如果 Android 版本为 13 及以上,它还将根据媒体类型进行获取。

    此外,为了支持 Android 13 (SDK 33) 上新的精细权限,我们已将 cordova-android 的最低要求提高到 12.0.0 版本。此版本的 Cordova-Android 专门包含了处理 Android 13 并使用新权限成功编译项目所需的更新。

  • 已删除已弃用的平台

    由于 Cordova-Windows 和 Cordova-OSX 平台已弃用,因此已从该插件中删除对这些平台的支持逻辑。

  • 保留来自照片图库的图像 Exif 数据 (iOS)

    此版本包含一个修复程序,可保留 iOS 图像的 EXIF 数据。

cordova-plugin-media

  • Android 13 支持

    在此版本的 media 插件中,文件插件的依赖项已提升到 8.0.0 版本,该版本引入了 Android 13 支持。此支持包括 Android 13 更精细的权限 READ_MEDIA_IMAGESREAD_MEDIA_VIDEOREAD_MEDIA_AUDIO

    此外,我们已将 cordova-android 的最低要求提高到 12.0.0 版本。

    有关详细信息,请查看 Cordova 的文件插件 8.0.0 发布博客文章

  • 已删除已弃用的 Windows 平台

    由于 Cordova-Windows 平台已弃用,因此已从该插件中删除对该平台的支持逻辑。

  • 能够从自定义方案和前导斜杠目录路径加载文件

    文件插件现在可以接受使用自定义方案或前导斜杠构造的 URL。

    自定义方案示例

    默认情况下,iOS 使用以下自定义方案 app://127.0.0.1/。现在,您可以传入 app://127.0.0.1/file.mp4 来表示位于应用程序内容加载的根目录 www 中的媒体文件。

    前导斜杠示例

    如果提供的 URL 为 /file.mp4,它也可以从以上示例中加载相同的文件 file.mp4。它将从应用程序内容加载的根目录 www 开始导航。

  • 提高了 Android 的音频质量

    从该插件的此版本开始,Android 捕获的音频质量已显著提高。这是通过将比特率提高到 96 Kbps,并将采样率提高到 44.1 kHz 来实现的。

    公关说明: 此插件使用 AAC 编码器,与 MP3 编码器相比,该编码器通常以较低的比特率提供更好的音频质量。在研究 AAC 与 MP3 的可接受比特率时,一些人建议 AAC 使用 96 Kbps,而 MP3 使用 128 Kbps。但这并不意味着它们是相同的。就质量而言,它始终取决于源和底层设备。

cordova-plugin-file-transfer

  • 针对 Android 13 支持提升了文件依赖项

    在此版本的 file-transfer 插件中,文件插件的依赖项已更新到 8.0.0 版本,从而启用了 Android 13 支持。因此,为了与更新后的文件插件保持一致,cordova-android 的最低要求已提高到 12.0.0 版本。

    有关详细信息,请查看 Cordova 的文件插件 8.0.0 发布博客文章

  • 已删除已弃用的平台

    由于 Cordova Windows/WP8、OSX、Amazon Fire OS、Blackberry 10、Windows Phone 和 Firefox OS 平台已弃用,因此已从该插件中删除对这些平台的支持逻辑。

  • 已删除已弃用的 whitelist 插件

    旧的 whitelist 插件已弃用很长时间,并且在 file-transfer 插件中不再需要。此插件将继续调用并检查平台核心代码的一部分 shouldAllowRequest 方法。

    有关如何配置列表的更多信息,请参阅 Cordova 文档的 允许列表页面。

  • 修复了 Android Q+ 的下载功能

  • 删除了硬编码的 X-Requested-With 标头

    此硬编码的标头已从 Android 平台中删除。此标头也没有在任何其他平台中设置。如果希望将 HTTP 调用伪装为 XMLHttpRequest,则由应用程序开发人员设置标头。

  • 修复了文件上传时缺少标头的问题

    在 iOS 中,标头数据在文件上传期间未正确设置。在此版本中,更新了 applyRequestHeaders 方法,以确保应用了标头。

  • 重新实现了 UserAgent 覆盖

    在 iOS 中,重新实现了使用 WebView 中的 navigator.userAgent 值覆盖 UserAgent 的功能。

请在 issues.cordova.io 上报告您发现的任何问题!

更改包括

cordova-plugin-camera

重大更改

  • GH-848 修复!:删除已弃用的平台
  • GH-844 feat(android)!:Android 13 支持

修复

  • GH-827 修复(android):设置 applicationId
  • GH-810 修复(browser):使用 navigator.mediaDevices.getUserMedia
  • GH-712 修复(ios):保留 EXIF 数据
  • GH-780 修复(android):更新 plugin.xml 中的查询

杂务、依赖项、文档

  • GH-850 杂务:从 plugin.xml 中删除 windows/osx
  • GH-849 杂务:更新 SUPPORT_QUESTION.md 模板
  • GH-831 杂务(android):清理过时的 BuildConfig 注释
  • GH-846 dep(dev)!:提升 @cordova/[email protected]
  • GH-800 dep(npm):使用重建提升 package-lock v2
  • GH-808 docs(README):记录 ANDROIDX_CORE_VERSION 变量

CI

  • GH-851 ci(gh-action):与 paramedic 配置同步
  • GH-835 ci(android):删除 API 22 和 31。添加了 API 24 和 33
  • GH-804 ci:使用 paramedic 同步工作流
  • GH-798 ci(android):更新 cordova-android@11 的 Java 要求
  • GH-770 ci(ios):使用 iOS 15 更新工作流
  • GH-766 ci:删除旧的 CI 工作流
  • GH-765 ci:添加 action-badge
  • GH-764 ci:删除 travisappveyor
  • GH-762 ci:添加 gh-actions 工作流

cordova-plugin-media

重大更改

  • GH-384 修复!:删除已弃用的 windows 平台
  • GH-378 feat(android)!:提升文件和 Android 要求

功能

  • GH-362 feat(ios):使用自定义方案 + 主机名和前导目录路径加载媒体文件
  • GH-383 feat(android):提高音频编码比特率和采样率
  • GH-382 feat(android):支持 Android 13 权限检查和请求

其他

cordova-plugin-file-transfer

重大更改

修复

  • GH-372 修复(tests):在文件 URL 上使用 https
  • GH-371 修复(tests):更改默认服务器端口
  • GH-361 修复:测试版本
  • GH-310 修复(android):使用 Android Q 启用下载功能
  • GH-313 修复:测试中不正确的资源文件路径
  • GH-287 修复(ios):删除硬编码的 X-Requested-With 标头
  • GH-284 修复(ios):标头未发送
  • GH-268 修复(ios):重新实现用户代理覆盖
  • GH-199 修复(windows):js 错误“参数不正确”

杂务

  • GH-373 杂务:添加缺少的许可证标头
  • GH-368 杂务:删除 windows 残留
  • GH-335 杂务:删除 use-permission WRITE_EXTERNAL_STORAGE
  • GH-324 杂务:package-lock 升级
  • GH-323 杂务:.npmrc
  • GH-299 杂务:提升即将到来的主要版本 2.0 的“保护性”条目
  • GH-274 杂务:添加 package-lock 文件
  • GH-272 杂务:软件包清理
  • GH-269 杂务(npm):添加忽略列表

依赖项、CI 和文档

  • GH-369 dep:提升 @cordova/[email protected] 并重建 package-lock
  • GH-344 dep(npm):提升 package-lock v2 并重建
  • GH-341 dep(server):将 i0.3.6 提升到 0.3.7
  • GH-329 dep:将 minimist1.2.5 提升到 1.2.6
  • GH-362 ci:使用 paramedic 基本配置同步 github 操作工作流
  • GH-348 ci:使用 paramedic 同步工作流
  • GH-343 ci(android): 为 cordova-android@11 更新 Java 要求
  • GH-318 ci(ios): 使用 iOS 15 更新工作流程
  • GH-315 ci: 添加 action-badge
  • GH-314 ci: 移除 travis & appveyor
  • GH-311 ci: 添加 gh-actions 工作流程
  • GH-280 doc: 改进 progressEvent 文档
  • GH-267 doc: 取消插件的弃用状态
  • GH-211 doc: 移除过时的翻译