部落格 RSS 訂閱

Apache Cordova 3.5.0
作者:Steve Gill
2014 年 5 月 23 日

我們很高興地宣布 Apache Cordova 3.5 已發布!

最值得注意的變更包括

  • cordova-clicordova-plugman 之間的通用程式碼已移至名為 cordova-lib 的獨立儲存庫。
  • 每個平台現在都有一個 package.json 檔案,並已上傳到 npm。未來 cordova-cli 的更新將使用 npm 而不是 git 來載入平台。
  • CB-4863 - 停止支援 iOS 5.0,並支援 arm64。新的專案會建置為通用二進位檔(64 位元和 32 位元),並且最低部署目標為 iOS 6.0。
  • 這是最後一個支援 WP7 的版本
  • amazon-fireos 的除錯版本新增 Chrome 開發人員工具支援

若要升級:(將 android 替換為您想要更新的平台)

npm install -g cordova
cd my_project
cordova platform update android

對於非 CLI 專案或 3.0 之前的專案,請參閱升級指南

其他變更包括

Android 的新功能

  • CB-6552 新增頂層 package.json
  • CB-6491 新增 CONTRIBUTING.md
  • CB-6543 修正當沒有 custom_rules.xml 可用時,cordova/run 失敗的問題
  • defaults.xml:新增 AndroidLaunchMode 偏好設定
  • CordovaResourceApi 新增 JavaDoc
  • CB-6388LOAD_URL 橋接器中正確處理二進位資料
  • CB-6048 設定 launchMode=singleTop,以便點擊應用程式圖示不會總是重新啟動應用程式
  • 移除 AlertDialog.Builder.create 的不正確用法
  • 捕獲外掛程式中未捕獲的例外狀況,並將其轉換為錯誤回應。
  • CB-6047 修正頁面轉換時線上狀態有時會進入錯誤狀態的問題。
  • CordovaResourceApi.copyResource 新增另一個便利的重載
  • 將框架的 .classpath 更新為 Eclipse 所需的格式。
  • README.md:android update to android-19
  • 修正使用 POLLING 橋接器模式時出現的 NPE。
  • 更新 NOTICE 以包含 SquareOkHttp
  • CB-5398KitKat 內容 URI 修正套用至所有內容 URI
  • CB-5398 解決 KitKat 內容:URL 無法在 <img> 標籤中呈現的問題
  • CB-5908 將啟動畫面影像新增至範本
  • CB-5395 使白名單中的 scheme 和 host(但不是 path)不區分大小寫
  • 由於 stopLoading(),忽略多個 onPageFinished() 回呼和 onReceivedError
  • 由於安全性漏洞,從所有低於 4.2 的 Android 版本中移除 addJavascriptInterface 支援
  • CB-4984 不要建立在 CordovaActivity 名稱上
  • CB-5917 新增一個不會重新建立外掛程式的 loadUrlIntoView 重載。
  • 使用執行緒池處理載入逾時。
  • CB-5715 對於 CLI,預設隱藏 assets/wwwres/xml/config.xml
  • CB-5793 ant 建置:在 -post-build 期間重新命名 AndroidManifest,以避免 Eclipse 偵測到 ant-build/
  • CB-5889 使更新腳本尋找專案名稱,而不是使用 null 作為 CordovaLib
  • CB-5889 在更新腳本中新增一條訊息,說明在使用 IDE 時需要匯入 CordovaLib

iOS 的新功能

  • CB-6638 - 將 CordovaLibTests 轉換為 XCTests
  • CB-6579 - CDVWebViewDelegateTests 失敗
  • CB-6580 - CDVWhitelistTests 失敗
  • CB-6578 - 修正 CordovaLibTests 無法建置的問題
  • CB-6553 新增頂層 package.json 檔案
  • CB-6491 新增 CONTRIBUTING.md
  • CB-6500 - Cordova 需要 arm64 架構。
  • CB-6383 修正當使用者安裝 macports 時,copy-www-build-step.sh 的問題
  • CB-6327 允許外掛程式功能名稱(以及回呼 ID)中使用 '.'
  • CB-6287 - 為 arm64 新增建置腳本支援
  • CB-6340 - 將重新廣播功能新增至 AppDelegate 中的遠端通知註冊(關閉 #94)
  • CB-6217 iOS 模擬器目標在腳本中不一致
  • CB-5286 - 修正以 arm64 編譯時的警告
  • CB-4863 - 停止支援 iOS 5.0,並支援 arm64。新的專案會建置為通用二進位檔(64 位元和 32 位元),並且最低部署目標為 iOS 6.0。
  • CB-6149 - AppDelegate 使用已棄用的 handleOpenURL
  • CB-6150 - objc_msgSendarm64 上使用外掛程式時導致 EXC_BAD_ACCESS
  • CB-5018 - iOS 上的 bin/create 應該預設使用 --arc
  • CB-5943 - 更新/移除 cordova-ios 儲存庫中過時的項目
  • CB-5395 使白名單中的 scheme 和 host(但不是 path)不區分大小寫
  • CB-5991 修正白名單路徑比對的尾端斜線問題
  • CB-5967 修正 isTopLevelNavigation 在少數情況下未正確設定的問題。
  • 驗證回呼 ID 始終格式良好
  • 移除過時的 .gitmodules
  • 根據 Xcode 5.1 建議更新 Xcode .pbxproj 檔案
  • 新增開始備份到 iCloudNSLog 通知(關閉 #96)

Windows Phone 7 和 8 的新功能

  • 更新發行說明,並說明 WP7 支援即將消失
  • CB-6558WP8 新增 package.json 檔案
  • CB-6491 新增 CONTRIBUTING.md
  • CB-6450 新增對本機 XHR.responseXML getter 的支援
  • CB-6341 不要依賴路徑中的 msbuild
  • 將 Sergey 的 SpecificVersion 旗標修正套用至 WP7 範本,也套用 CB-6103
  • CB-6103 WP8 CordovaDeploy 的潛在建置問題
  • 也將 CB-6268 backgroundcolor 套用至 WP7
  • CB-6268 WP8。從 config.xml 套用 BackgroundColor
  • CB-5965 支援設定 responseType,取得回應
  • CB-6299XHRLOCAL URL 移除協定和開頭斜線
  • CB-6091 如果應用程式路徑包含空白,則 Windows 建置會失敗
  • CB-6041 createTemplates 也應該為 VS-2013 安裝它們
  • CB-5219 當使用 history.replaceState 時,weinre 會斷線
  • CB-5951namespace 新增至 config.xml
  • 移除 WP7 範本中對不存在檔案的參考

Windows 8 的新功能

  • CB-6684 [3.5.0rc]Windows8 啟動畫面設定中斷建置
  • CB-6686 [3.5.0rc]如果路徑包含空白,則 Windows8 建置錯誤
  • CB-6557package.json 新增至 Windows8
  • CB-6491 新增 CONTRIBUTING.md
  • CB-6309 Windows8。透過 config.xml 偏好設定新增啟動畫面影像支援,CB-6544 SplashScreenBack
  • 修正未在 config.xml 中指定 background-color 和/或 content-src 時的問題
  • 背景顏色現在在建置過程中套用至 Windows8 專案設定。
  • 修正當專案的路徑包含空格時發生的 build/deploy 錯誤
  • CB-6435 更新 ./VERSION/template/VERSION
  • 修改執行原則限制移除邏輯。使用 PS 原生 cmdlet 移除限制。
  • CB-6397 Windows8 使用安裝的最新版 MSBuild Tools 建置應用程式
  • CB-6256 CB-6266 新增對 Windows8 的網域白名單和起始頁面設定的支援
  • CB-2970 CB-2953 記錄不支援的方法並以程式碼 1 結束
  • CB-2978 Windows 8 不支援 list-devices
  • CB-6091 如果應用程式路徑包含空白,則 Windows 建置會失敗
  • CB-6083 Windows8 使用登錄讀取 msbuild 工具路徑
  • CB-6042 如果未安裝開發人員憑證,則 Windows8 Cordova emulate 會失敗
  • CB-5951namespace 新增至 config.xml
  • 依名稱移除建立後的範本檔案
  • CB-4533 在失敗時傳回錯誤碼 2,CB-5359 從登錄取得工具版本

BlackBerry 10 的新功能

  • CB-6554 更新 package.json
  • CB-6491 新增 CONTRIBUTING.md
  • CB-6522 不允許目標名稱中包含空格
  • CB-6440 將設定邏輯移至其自己的模組
  • CB-6398blackberry10.json 中支援其他命令
  • CB-6440 切換到 Grunt 作為任務執行器
  • CB-6440 chmod -x *.bat
  • CB-6440 移除 scripts/lib 目錄
  • CB-6440utils.js 從 bin 移動到 template
  • CB-6440.bat 檔案移除 +x
  • CB-6440 建立 - 使用 shelljs 而非自訂複製函式
  • CB-6440create.js 移動到 lib
  • CB-6440 移除 check_reqs.js
  • CB-6440signing-utils 移出 bin
  • CB-6416 確保目標字典存在於屬性物件中
  • CB-6410 允許在無法產生除錯 Token 時部署
  • CB-6409 允許偵測尚未設定密碼的裝置
  • CB-6346README.md 移除 npm 警告
  • CB-6376 user.js 中的 backgroundColor 缺少引號
  • CB-6346 - 將 node_modules 加入原始碼控制
  • CB-6326 修正在手動新增與自動偵測模擬器之間的不一致性
  • CB-6326 (cordova-blackberry) target-utils.js
  • CB-6303 從非內容網頁視圖移除標題
  • CB-6303aria-hidden="true" 加入控制器網頁視圖 body
  • CB-6241 預設為提示輸入密碼 (將 --query 替換為 --no-query)
  • CB-6222 BlackBerry 10 文件相關的各種更新
  • CB-6058 - 選項檔案從輸出列移除。現在在建置目錄中
  • CB-6021--release 加入 run 指令
  • CB-5723 建置腳本應接受 -l 參數,如同 --loglevel
  • CB-6019--device 的預設值提供給 run 腳本
  • CB-5660 使用 enabledelayedexpansion 來處理路徑中的 )
  • CB-5909 修正了 check-reqs 在第二次傳遞時跳過檢查邏輯的問題

Firefox OS 的新功能

  • CB-5816 Firefox OS - 加入建置腳本
  • defaults.xml 移除未使用的元素
  • CB-6555 更新了頂層 package.json 檔案
  • CB-6491 新增 CONTRIBUTING.md
  • CB-5416 需要自動產生包含適當插件權限的 manifest.webapp

Ubuntu (touch) 的新功能

  • 允許插件間的通訊
  • 加入 .editorconfig
  • 在建置前檢查需求
  • bin/build: 修正 --nobuild
  • bin/build: 為 click chroot 指定框架而非系列
  • bin/build: 切換到非同步 shelljs.exec
  • CB-6559 加入了頂層 package.json
  • CB-6491 新增 CONTRIBUTING.md

Amazon FireOS 的新功能

  • CB-6644 在範本程式碼中加入檢查 webview 是否為 null。加入了一個檢查和一些註解來引導開發人員。
  • CB-6487 修正在 Chrome 遠端除錯中找不到 WebView 的問題
  • CB-6636 需要正確銷毀 webview。在 webview 的 handleDestroy() 方法中加入了 destroy() 呼叫。
  • CB-6491 新增 CONTRIBUTING.md
  • CB-6543 修正當沒有 custom_rules.xml 可用時,cordova/run 失敗的問題
  • defaults.xml: 加入 AndroidLaunchMode 偏好設定
  • CordovaResourceApi 新增 JavaDoc
  • 更新了日誌語句 - android=>amazon-fireos
  • Amazon xmlns 加入專案範本 AndroidManifest.xml
  • CB-6392 加入 amazon-fireos 平台失敗,錯誤報告不佳
  • CB-6556 加入了頂層 package.json 檔案
  • 加入安全檢查以防止應用程式呼叫 init 兩次,變更以解決 Cordova 插件管理中的執行緒安全問題
  • CB-6388LOAD_URL 橋接器中正確處理二進位資料
  • CB-6048 設定 launchMode=singleTop,以便點擊應用程式圖示不會總是重新啟動應用程式
  • 透過使用 onBackPressed 而非 onKeyUp 來修正返回按鈕問題
  • CB-5744 無法使用 Cordova 3.3.0 為 Kindle Fire HDX 平板電腦建置 Hello World 應用程式
  • CordovaWebView 加入了以 Bundle 作為參數的過載建構子。
  • 捕獲外掛程式中未捕獲的例外狀況,並將其轉換為錯誤回應。
  • CB-6047 修正頁面轉換時線上狀態有時會進入錯誤狀態的問題。
  • CordovaResourceApi.copyResource 新增另一個便利的重載
  • 將框架的 .classpath 更新為 Eclipse 所需的格式。
  • Android 目標更新為 android-19
  • README.md:android update to android-19
  • 修正使用 POLLING 橋接器模式時出現的 NPE。
  • 更新 NOTICE 以包含 SquareOkHttp

Cordova-CLI 的新功能

  • CB-5941 更新從 README.mdhooks-README.md 檔案的連結
  • 修正 cordova help 指令
  • 透過移除 'experimental' 鍵來修正失敗的 CLI 測試
  • CB-6649 從位置參數中移除實驗性標誌
  • CB-6648 為實驗性功能加入標誌
  • 修正使用 cordova-lib 的 require 路徑
  • 更新 package.json 以使用 cordova-lib
  • 分離出 cordova-lib: 移動 cordova-cli 檔案
  • Windows8 重新加入 BOM : CB-5421BOM 加入所有 html、js、css 檔案,以確保應用程式能通過 Windows 商店認證
  • CB-6491 新增 CONTRIBUTING.md
  • android-parser: 加入 AndroidLaunchMode 偏好設定
  • 修正 CLI 測試以使用 node v0.11
  • 更新 jasmine-node 的版本。修正了 node 0.11 中 util.print 的測試警告
  • CB-2606 Android 圖示 - 不要嘗試複製到未定義的路徑
  • CB-2606 支援 iOSAndroidBB10WP8Win8FxOS 的圖示
  • CB-6329 刪除未使用的 info-utils.js
  • CB-6329 改善 cordova info 指令
  • CB-5847 不再忽略 strictSSL
  • CB-6432 pre_package hook 不會填入 %CORDOVA_PLATFORMS%
  • 還原 "CB-6267 Windows8。從 config.xml 應用 BackgroundColor"
  • 如果刪除了 "platforms" 目錄,則重新建立它。
  • CB-5093 在準備期間加入 versionCodeCFBundleVersion
  • CB-6312AndroidManifest.xml 中使用 landscape 而非 userLandscape
  • CB-6421 將測試從 e2e 移動到 spec - cli 測試
  • CB-6377 superspawn:始終使用空格將非 .exe 包裝到 cmd,並使用 /s /c

Cordova-Plugman 的新功能

  • 更新 plugman cli 以使用 cordova-lib
  • 分離出 cordova-lib: 移動 cordova-plugman 檔案

此版本測試過的插件版本

  • cordova-plugin-battery-status: 0.2.8
  • cordova-plugin-camera: 0.2.9
  • cordova-plugin-console: 0.2.8
  • cordova-plugin-contacts: 0.2.10
  • cordova-plugin-device: 0.2.9
  • cordova-plugin-device-motion: 0.2.7
  • cordova-plugin-device-orientation: 0.3.6
  • cordova-plugin-dialogs: 0.2.6
  • cordova-plugin-file: 1.1.0
  • cordova-plugin-file-transfer: 0.4.3
  • cordova-plugin-geolocation: 0.3.7
  • cordova-plugin-globalization: 0.2.7
  • cordova-plugin-inappbrowser: 0.4.0
  • cordova-plugin-media: 0.2.10
  • cordova-plugin-media-capture: 0.3.0
  • cordova-plugin-network-information: 0.2.8
  • cordova-plugin-splashscreen: 0.3.0
  • cordova-plugin-statusbar: 0.1.3
  • cordova-plugin-vibration: 0.3.8