部落格 RSS Feed

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 cordova-plugin-camera@7.0.0

cordova plugin remove cordova-plugin-media
cordova plugin add cordova-plugin-media@7.0.0

cordova plugin remove cordova-plugin-file-transfer
cordova plugin add cordova-plugin-file-transfer@2.0.0

版本重點

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 來實現的。

    PR 的注意事項:此外掛程式使用 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 fix!: 移除已棄用的平台
  • GH-844 feat(android)!: Android 13 支援

修復

  • GH-827 fix(android): 設定 applicationId
  • GH-810 fix(browser): 使用 navigator.mediaDevices.getUserMedia
  • GH-712 fix(ios): 保留 EXIF 數據
  • GH-780 fix(android): 更新 plugin.xml 中的查詢

雜項、依賴項、文件

  • GH-850 chore: 從 plugin.xml 中移除 windows/osx
  • GH-849 chore: 更新 SUPPORT_QUESTION.md 範本
  • GH-831 chore(android): 清理過時的 BuildConfig 註解
  • GH-846 dep(dev)!: 升級 @cordova/eslint-config@5.0
  • 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 fix!: 移除已棄用的 windows 平台
  • GH-378 feat(android)!: 升級檔案和 Android 要求

功能

  • GH-362 feat(ios): 使用自訂方案 + 主機名稱和開頭目錄路徑載入媒體檔案
  • GH-383 feat(android): 提高音訊編碼位元速率和取樣率
  • GH-382 feat(android): 支援 Android 13 權限檢查和要求

其他

  • GH-381 dep(dev)!: 升級 @cordova/eslint-config@5.0.0
  • GH-377 ci: 與 paramedic 基本組態同步 github action 工作流程

cordova-plugin-file-transfer

重大變更

  • GH-360 feat(android)!: 升級 cordova-plugin-file@8.0.0cordova-android >= 12.0.0
  • GH-346 feat(windows)!: 移除已棄用的平台 Windows
  • GH-307 feat!: 移除已棄用的 whitelist 用法
  • GH-270 feat!: 移除已棄用的平台 (Amazon Fire OS、BlackBerry、Windows Phone、Firefox OS、Windows 8)
  • GH-370 dep(server)!: 升級 forever@4.0.3iconv@3.0.1busboy@1.6.0 和重建 package-lock

修復

  • GH-372 fix(tests): 在檔案 URL 上使用 https
  • GH-371 fix(tests): 變更預設伺服器連接埠
  • GH-361 fix: 測試版本
  • GH-310 fix(android): 啟用 Android Q 的下載功能
  • GH-313 fix: 測試中不正確的資產檔案路徑
  • GH-287 fix(ios): 移除硬式編碼的 X-Requested-With 標頭
  • GH-284 fix(ios): 未傳送標頭
  • GH-268 fix(ios): 重新實作使用者代理覆寫
  • GH-199 fix(windows): js 錯誤「參數不正確」

雜項

  • GH-373 chore: 新增遺失的授權標頭
  • GH-368 chore: 移除 Windows 殘留物
  • GH-335 chore: 移除 use-permission WRITE_EXTERNAL_STORAGE
  • GH-324 chore: package-lock 升級
  • GH-323 chore: .npmrc
  • GH-299 chore: 為即將推出的 2.0 主要版本升級「保護性」條目
  • GH-274 chore: 新增 package-lock 檔案
  • GH-272 chore: 套件清理
  • GH-269 chore(npm): 新增忽略清單

依賴項、CI 和文件

  • GH-369 dep: 升級 @cordova/eslint-config@5.0.0 和重建 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 action 工作流程
  • 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: 移除 travisappveyor
  • GH-311 ci: 新增 gh-actions 工作流程
  • GH-280 doc: 改善 progressEvent 文件
  • GH-267 doc: 取消棄用外掛程式
  • GH-211 doc: 移除過時的翻譯