Build/emulation errors: list-emulator-build-targets Cannot read property 'toLowerCase' of undefined

Seems like Xcode updated itself to 11 last night. Now both build & emulation is not working.

Using both these commands gets the same error:

ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0" --prod --release
ionic cordova emulate ios -l -c -s --target="iPhone-X,com.apple.CoreSimulator.SimRuntime.iOS-12-4"  -- --buildFlag="-UseModernBuildSystem=0"

Error message below:

[cordova]  Cannot read property 'toLowerCase' of undefined
[cordova]  TypeError: Cannot read property 'toLowerCase' of undefined
[cordova]      at /Users/*****/platforms/ios/cordova/lib/list-emulator-build-targets:54:45
[cordova]      at Array.forEach (<anonymous>)
[cordova]      at /Users/*****/platforms/ios/cordova/lib/list-emulator-build-targets:52:44
[cordova]      at Array.reduce (<anonymous>)
[cordova]      at /Users/*****/platforms/ios/cordova/lib/list-emulator-build-targets:50:57
[cordova]      at Array.reduce (<anonymous>)
[cordova]      at /Users/*****/platforms/ios/cordova/lib/list-emulator-build-targets:45:28
[cordova]      at _fulfilled (/Users/*****/platforms/ios/cordova/node_modules/q/q.js:854:54)
[cordova]      at /Users/*****/platforms/ios/cordova/node_modules/q/q.js:883:30
[cordova]      at Promise.promise.promiseDispatch (/Users/*****/platforms/ios/cordova/node_modules/q/q.js:816:13)
1 Like

I have been getting the same error.
I update cordova-ios too, but still encountered the same issue.

Sorry to reply. But I managed to fix it.

So before re-adding the platform remove ios as so:

ionic cordova platform rm ios
ionic cordova platform add ios@latest

The @latest fixed it for me. Before I wasn’t using that.
You’re cordova-ios version at this time of writing should be ios 5.0.1.
You can check this by doing “ionic info” and looking under the Cordova Platforms section.

6 Likes

Confirmed. Removing platform and re-adding with @latest works!

1 Like

Hi,

We have tried this but get the following error when running the build:

Error: Cannot find module '/platforms/ios/cordova/node_modules/cordova-common'

Current ionic info is:

Ionic:

   Ionic CLI          : 5.4.1 (/usr/local/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.6
   @ionic/app-scripts : 3.2.3

Cordova:

   Cordova CLI       : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms : ios 5.0.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 3.1.2, (and 18 other plugins)

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   ios-deploy : 2.0.0
   ios-sim    : 8.0.2
   NodeJS     : v10.12.0 (/usr/local/Cellar/node/10.12.0/bin/node)
   npm        : 6.5.0
   OS         : macOS Mojave
   Xcode      : Xcode 11.0 Build version 11A420a

Do you have any suggestions?

Tom

I would attempt to do the following:

npm uninstall -g cordova
npm install -g cordova@latest
1 Like

Thank you, this solved my issue after 1 week of no luck building for iOS.

Installing Cordova 9.0 causes issues with plugins. Cordova CLI 8.1.2 with iOS 5.0.1 seems to be the right combo.