Xcode v11 + Cordova(iOS) で Cannot read property 'toLowerCase' of undefined のエラーの解決方法
はじめに
Vue + Cordova の iOS アプリを Xcode v11 でビルドすると Cannot read property 'toLowerCase' of undefined
のエラーが出たので、解決方法について整理した。
TL;DR
- Xcode v11 と
cordova-ios
v4 系は互換性がないvue add cordova
でインストールされるのはcordova-ios v4.5.5
(2019/11/21 現在)
cordova platform rm ios
→cordova platform add ios@latest
で解決
目次
環境・条件
1 | $ sw_vers |
詳細
エラーについて
vue create
→ vue add cordova
で iOS 環境を作成し、ビルドを行ったところ Cannot read property 'toLowerCase' of undefined
というエラーが出る。
1 | $ vue create test-app |
調べたところ、Xcode v11 系と cordova-ios v4 系に互換性が無いとのこと。
Cordova iOS v4.5.x is not compatible with Xcode 11. You’ll need to update to Cordova iOS 5.x.
Xcode 11 issue while building cordova app with ios platform v4.5.5 · Issue #692 · apache/cordova-ios より
2019/11/21 現時点では、vue add cordova
で iOS
を選択してインストールされるのは cordova-ios v4.5.5
な模様。
解決方法
src-cordova
でプラットフォームの削除→追加を行えば OK。
※環境によってはディレクトリが src-cordova
ではないかも、適宜読み替え。
1 | $ cd src-cordova |
これでビルドが通るようになる。
1 | $ cd .. |
まとめ
- Xcode v11 と
cordova-ios
v4 系は互換性がないvue add cordova
でインストールされるのはcordova-ios v4.5.5
(2019/11/21 現在)
cordova platform rm ios
→cordova platform add ios@latest
で解決
その他・メモ
最初 npm i cordova-ios@"^5.0.0"
とだけしてエラー解決せずにハマった。
参考文献
- apache/cordova-ios: Apache Cordova iOS
- Xcode 11 issue while building cordova app with ios platform v4.5.5 · Issue #692 · apache/cordova-ios
- Cannot read property ‘toLowerCase’ of undefined [ERROR] An error occurred while running subprocess cordova. · Issue #647 · apache/cordova-ios
関連記事
- Cordova アプリに Twitter Timeline の埋め込み
- NativeScript, JsBarcode でバーコードを 生成/描画
- Cordova iOS axios で Network Error となる場合の回避策
- Cordova でアプリ名やアプリのバージョン情報などを取得
- Cordova iOS アプリで長押し(ロングタップ, ロングプレス)によるコンテキストメニューを無効化
- Cordova で端末やエミュレータを指定してデプロイする
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア