Apache Cordova 3.5.0
2014 年 5 月 23 日
我們很高興地宣布 Apache Cordova 3.5
已發布!
最值得注意的變更包括
cordova-cli
和cordova-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-6388 在
LOAD_URL
橋接器中正確處理二進位資料 - CB-6048 設定
launchMode=singleTop
,以便點擊應用程式圖示不會總是重新啟動應用程式 - 移除
AlertDialog.Builder.create
的不正確用法 - 捕獲外掛程式中未捕獲的例外狀況,並將其轉換為錯誤回應。
- CB-6047 修正頁面轉換時線上狀態有時會進入錯誤狀態的問題。
- 為
CordovaResourceApi.copyResource
新增另一個便利的重載 - 將框架的 .classpath 更新為 Eclipse 所需的格式。
- README.md:
android update
toandroid-19
。 - 修正使用 POLLING 橋接器模式時出現的 NPE。
- 更新 NOTICE 以包含 Square 的
OkHttp
- CB-5398 將
KitKat
內容 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/www
和res/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_msgSend
在arm64
上使用外掛程式時導致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
檔案 - 新增開始備份到
iCloud
的NSLog
通知(關閉 #96)
Windows Phone 7 和 8 的新功能
- 更新發行說明,並說明 WP7 支援即將消失
- CB-6558 為 WP8 新增
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-6299 從
XHRLOCAL URL
移除協定和開頭斜線 - CB-6091 如果應用程式路徑包含空白,則 Windows 建置會失敗
- CB-6041
createTemplates
也應該為VS-2013
安裝它們 - CB-5219 當使用
history.replaceState
時,weinre
會斷線 - CB-5951 將
namespace
新增至config.xml
- 移除 WP7 範本中對不存在檔案的參考
Windows 8 的新功能
- CB-6684 [3.5.0rc]Windows8 啟動畫面設定中斷建置
- CB-6686 [3.5.0rc]如果路徑包含空白,則 Windows8 建置錯誤
- CB-6557 將
package.json
新增至 Windows8 - CB-6491 新增
CONTRIBUTING.md
- CB-6309 Windows8。透過
config.xml
偏好設定新增啟動畫面影像支援,CB-6544SplashScreenBack
- 修正未在
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-5951 將
namespace
新增至config.xml
- 依名稱移除建立後的範本檔案
- CB-4533 在失敗時傳回錯誤碼 2,CB-5359 從登錄取得工具版本
BlackBerry 10 的新功能
- CB-6554 更新
package.json
- CB-6491 新增
CONTRIBUTING.md
- CB-6522 不允許目標名稱中包含空格
- CB-6440 將設定邏輯移至其自己的模組
- CB-6398 在
blackberry10.json
中支援其他命令 - CB-6440 切換到 Grunt 作為任務執行器
- CB-6440
chmod -x *.bat
- CB-6440 移除
scripts/lib
目錄 - CB-6440 將
utils.js
從 bin 移動到 template - CB-6440 從
.bat
檔案移除+x
- CB-6440 建立 - 使用
shelljs
而非自訂複製函式 - CB-6440 將
create.js
移動到lib
- CB-6440 移除
check_reqs.js
- CB-6440 將
signing-utils
移出bin
- CB-6416 確保目標字典存在於屬性物件中
- CB-6410 允許在無法產生除錯 Token 時部署
- CB-6409 允許偵測尚未設定密碼的裝置
- CB-6346 從
README.md
移除npm
警告 - CB-6376
user.js
中的backgroundColor
缺少引號 - CB-6346 - 將
node_modules
加入原始碼控制 - CB-6326 修正在手動新增與自動偵測模擬器之間的不一致性
- CB-6326 (cordova-blackberry)
target-utils.js
- CB-6303 從非內容網頁視圖移除標題
- CB-6303 將
aria-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
: 為 clickchroot
指定框架而非系列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-6388 在
LOAD_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
toandroid-19
。 - 修正使用 POLLING 橋接器模式時出現的 NPE。
- 更新 NOTICE 以包含
Square
的OkHttp
Cordova-CLI 的新功能
- CB-5941 更新從
README.md
到hooks-README.md
檔案的連結 - 修正
cordova help
指令 - 透過移除 'experimental' 鍵來修正失敗的 CLI 測試
- CB-6649 從位置參數中移除實驗性標誌
- CB-6648 為實驗性功能加入標誌
- 修正使用
cordova-lib
的 require 路徑 - 更新
package.json
以使用cordova-lib
- 分離出
cordova-lib
: 移動cordova-cli
檔案 - Windows8 重新加入
BOM
: CB-5421 將BOM
加入所有 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 支援 iOS、Android、BB10、WP8、Win8、FxOS 的圖示
- 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 在準備期間加入
versionCode
和CFBundleVersion
- CB-6312 在
AndroidManifest.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