Vueer
Vueer

Reputation: 1502

"Cannot read property toLowerCase of undefined" on ionic build ios

I get "Cannot read property toLowerCase of undefined" error if I try to build ios in Ionic3 with the following command: ionic cordova build ios.

Here the log with --verbose:

> ionic-app-scripts build --target cordova --platform ios
[12:09:39]  ionic-app-scripts 3.1.11 
[12:09:39]  build dev started ... 
[12:09:39]  clean started ... 
[12:09:39]  clean finished in 4 ms 
[12:09:39]  copy started ... 
[12:09:39]  deeplinks started ... 
[12:09:40]  deeplinks finished in 104 ms 
[12:09:40]  transpile started ... 
[12:09:43]  transpile finished in 3.15 s 
[12:09:43]  preprocess started ... 
[12:09:43]  preprocess finished in less than 1 ms 
[12:09:43]  webpack started ... 
[12:09:43]  copy finished in 3.42 s 
[12:09:55]  webpack finished in 11.83 s 
[12:09:55]  sass started ... 
Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.
[12:09:57]  sass finished in 2.10 s 
[12:09:57]  postprocess started ... 
[12:09:57]  postprocess finished in 9 ms 
[12:09:57]  lint started ... 
[12:09:57]  build dev finished in 17.38 s 
[12:10:02]  tslint: src/pages/lastname/lastname.ts, line: 43 
            'NameCollection' is declared but its value is never read. 

      L42:  private AccountDoc: AngularFirestoreDocument<Account>;
      L43:  private NameCollection: AngularFirestoreCollection<Name>;
      L44:  private NameDoc: AngularFirestoreDocument<Name>;

            Property 'iap' is declared but its value is never read. 

[12:10:02]  tslint: src/pages/lastname/lastname.ts, line: 56 
      L56:  e http: HttpClient, private platform: Platform, private iap: InAppPurchase, private storage: Storage, privat

            Property 'translateService' is declared but its value is never read. 

[12:10:02]  tslint: src/app/app.component.ts, line: 28 
      L28:  reen, private storage: Storage, private afs: AngularFirestore, private translateService: TranslateService) {
      L29:      platform.ready().then(() => {

[12:10:02]  tslint: src/app/app.component.ts, line: 13 
            All imports on this line are unused. 

      L12:  import 'rxjs/add/operator/take';
      L13:  import { take } from 'rxjs/operators/take'

[12:10:02]  lint finished in 5.36 s 
> cordova build ios
[iOS] Setting main language to: English
[iOS] Setting also additional languagees to: it,de,en
Error: Cannot read property 'toLowerCase' of undefined
[ERROR] An error occurred while running subprocess cordova.

        cordova build ios exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.
➜  originjw git:(master) ✗ ionic cordova build ios --verbose                  
  ionic:cli-utils Terminal info: { tty: true, ci: false } +0ms
  ionic:cli-utils CLI global options: { _: [ 'cordova', 'build', 'ios' ], help: null, h: null, verbose: true, quiet: null, interactive: true, color: true, confirm: null, json: null, project: null, '--': [] } +3ms
  ionic:cli-utils:lib:project Project type from config: Ionic Angular 3 (ionic-angular) +0ms
  ionic:cli-utils Project name: undefined +285ms
  ionic:cli Context: { binPath: '/usr/local/lib/node_modules/ionic/bin/ionic', libPath: '/usr/local/lib/node_modules/ionic', execPath: '/Users/Daniele/Berufliches/JW Projects/OriginJW/originjw', version: '4.1.0' } +0ms
  ionic:cli-utils:lib:integrations:cordova:config Using config.xml: /Users/Daniele/Berufliches/JW Projects/OriginJW/originjw/config.xml +0ms
  ionic:cli-utils:lib:hooks Looking for ionic:build:before npm script. +0ms
  ionic:cli-utils:lib:project:ionic-angular:build Looking for ionic:build npm script. +0ms
  ionic:cli-utils:lib:project:ionic-angular:build Found ionic:build, but it is the default. Not running. +11ms
> ionic-app-scripts build --target cordova --platform ios
[12:10:31]  ionic-app-scripts 3.1.11 
[12:10:31]  build dev started ... 
[12:10:31]  clean started ... 
[12:10:31]  clean finished in 6 ms 
[12:10:31]  copy started ... 
[12:10:31]  deeplinks started ... 
[12:10:31]  deeplinks finished in 116 ms 
[12:10:31]  transpile started ... 
[12:10:35]  transpile finished in 3.27 s 
[12:10:35]  preprocess started ... 
[12:10:35]  preprocess finished in less than 1 ms 
[12:10:35]  webpack started ... 
[12:10:35]  copy finished in 3.63 s 
[12:10:47]  webpack finished in 12.26 s 
[12:10:47]  sass started ... 
Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.
[12:10:49]  sass finished in 1.74 s 
[12:10:49]  postprocess started ... 
[12:10:49]  postprocess finished in 10 ms 
[12:10:49]  lint started ... 
[12:10:49]  build dev finished in 17.66 s 
[12:10:53]  tslint: src/pages/lastname/lastname.ts, line: 43 
            'NameCollection' is declared but its value is never read. 

      L42:  private AccountDoc: AngularFirestoreDocument<Account>;
      L43:  private NameCollection: AngularFirestoreCollection<Name>;
      L44:  private NameDoc: AngularFirestoreDocument<Name>;

            Property 'iap' is declared but its value is never read. 

[12:10:53]  tslint: src/pages/lastname/lastname.ts, line: 56 
      L56:  e http: HttpClient, private platform: Platform, private iap: InAppPurchase, private storage: Storage, privat

            Property 'translateService' is declared but its value is never read. 

[12:10:53]  tslint: src/app/app.component.ts, line: 28 
      L28:  reen, private storage: Storage, private afs: AngularFirestore, private translateService: TranslateService) {
      L29:      platform.ready().then(() => {

[12:10:53]  tslint: src/app/app.component.ts, line: 13 
            All imports on this line are unused. 

      L12:  import 'rxjs/add/operator/take';
      L13:  import { take } from 'rxjs/operators/take'

[12:10:53]  lint finished in 4.32 s 
  ionic:cli-utils:lib:hooks Looking for ionic:build:after npm script. +25s
> cordova build ios --verbose
No scripts found for hook "before_build".
No scripts found for hook "before_prepare".
Checking config.xml and package.json for saved platforms that haven't been added to the project
Config.xml and package.json platforms are the same. No pkg.json modification.
Package.json and config.xml platforms are different. Updating config.xml with most current list of platforms.
PlatformApi successfully found for platform ios
Checking config.xml for saved plugins that haven't been added to the project
Checking for any plugins added to the project that have not been installed in ios platform
No differences found between plugins added to project and installed in ios platform. Continuing...
Generating platform-specific config.xml from defaults for iOS at /Users/Daniele/Berufliches/JW Projects/OriginJW/originjw/platforms/ios/OriginJW/config.xml
Merging project's config.xml into platform-specific iOS config.xml
Merging and updating files from [www, platforms/ios/platform_www] to platforms/ios/www
  copy  www/assets/fonts/ionicons.eot platforms/ios/www/assets/fonts/ionicons.eot (updated file)
  copy  www/assets/fonts/ionicons.scss platforms/ios/www/assets/fonts/ionicons.scss (updated file)
  copy  www/assets/fonts/ionicons.svg platforms/ios/www/assets/fonts/ionicons.svg (updated file)
  copy  www/assets/fonts/ionicons.ttf platforms/ios/www/assets/fonts/ionicons.ttf (updated file)
  copy  www/assets/fonts/ionicons.woff platforms/ios/www/assets/fonts/ionicons.woff (updated file)
  copy  www/assets/fonts/ionicons.woff2 platforms/ios/www/assets/fonts/ionicons.woff2 (updated file)
  copy  www/assets/fonts/noto-sans-bold.ttf platforms/ios/www/assets/fonts/noto-sans-bold.ttf (updated file)
  copy  www/assets/fonts/noto-sans-bold.woff platforms/ios/www/assets/fonts/noto-sans-bold.woff (updated file)
  copy  www/assets/fonts/noto-sans-regular.ttf platforms/ios/www/assets/fonts/noto-sans-regular.ttf (updated file)
  copy  www/assets/fonts/noto-sans-regular.woff platforms/ios/www/assets/fonts/noto-sans-regular.woff (updated file)
  copy  www/assets/fonts/noto-sans.scss platforms/ios/www/assets/fonts/noto-sans.scss (updated file)
  copy  www/assets/fonts/roboto-bold.ttf platforms/ios/www/assets/fonts/roboto-bold.ttf (updated file)
  copy  www/assets/fonts/roboto-bold.woff platforms/ios/www/assets/fonts/roboto-bold.woff (updated file)
  copy  www/assets/fonts/roboto-bold.woff2 platforms/ios/www/assets/fonts/roboto-bold.woff2 (updated file)
  copy  www/assets/fonts/roboto-light.ttf platforms/ios/www/assets/fonts/roboto-light.ttf (updated file)
  copy  www/assets/fonts/roboto-light.woff platforms/ios/www/assets/fonts/roboto-light.woff (updated file)
  copy  www/assets/fonts/roboto-light.woff2 platforms/ios/www/assets/fonts/roboto-light.woff2 (updated file)
  copy  www/assets/fonts/roboto-medium.ttf platforms/ios/www/assets/fonts/roboto-medium.ttf (updated file)
  copy  www/assets/fonts/roboto-medium.woff platforms/ios/www/assets/fonts/roboto-medium.woff (updated file)
  copy  www/assets/fonts/roboto-medium.woff2 platforms/ios/www/assets/fonts/roboto-medium.woff2 (updated file)
  copy  www/assets/fonts/roboto-regular.ttf platforms/ios/www/assets/fonts/roboto-regular.ttf (updated file)
  copy  www/assets/fonts/roboto-regular.woff platforms/ios/www/assets/fonts/roboto-regular.woff (updated file)
  copy  www/assets/fonts/roboto-regular.woff2 platforms/ios/www/assets/fonts/roboto-regular.woff2 (updated file)
  copy  www/assets/fonts/roboto.scss platforms/ios/www/assets/fonts/roboto.scss (updated file)
  copy  www/assets/i18n/de.json platforms/ios/www/assets/i18n/de.json (updated file)
  copy  www/assets/i18n/en.json platforms/ios/www/assets/i18n/en.json (updated file)
  copy  www/assets/i18n/it.json platforms/ios/www/assets/i18n/it.json (updated file)
  copy  www/assets/icon/favicon.ico platforms/ios/www/assets/icon/favicon.ico (updated file)
  copy  www/assets/imgs/JW-Round.png platforms/ios/www/assets/imgs/JW-Round.png (updated file)
  copy  www/assets/imgs/logo.png platforms/ios/www/assets/imgs/logo.png (updated file)
  copy  www/assets/imgs/ministryjwlogo.png platforms/ios/www/assets/imgs/ministryjwlogo.png (updated file)
  copy  www/assets/imgs/tracts/bible.jpg platforms/ios/www/assets/imgs/tracts/bible.jpg (updated file)
  copy  www/assets/imgs/tracts/dead.jpg platforms/ios/www/assets/imgs/tracts/dead.jpg (updated file)
  copy  www/assets/imgs/tracts/family.jpg platforms/ios/www/assets/imgs/tracts/family.jpg (updated file)
  copy  www/assets/imgs/tracts/future.jpg platforms/ios/www/assets/imgs/tracts/future.jpg (updated file)
  copy  www/assets/imgs/tracts/kingdom.jpg platforms/ios/www/assets/imgs/tracts/kingdom.jpg (updated file)
  copy  www/assets/imgs/tracts/suffering.jpg platforms/ios/www/assets/imgs/tracts/suffering.jpg (updated file)
  copy  www/assets/imgs/tracts/website.jpg platforms/ios/www/assets/imgs/tracts/website.jpg (updated file)
  copy  www/assets/imgs/tracts/world.jpg platforms/ios/www/assets/imgs/tracts/world.jpg (updated file)
  copy  www/build/main.css platforms/ios/www/build/main.css (updated file)
  copy  www/build/main.css.map platforms/ios/www/build/main.css.map (updated file)
  copy  www/build/main.js platforms/ios/www/build/main.js (updated file)
  copy  www/build/main.js.map platforms/ios/www/build/main.js.map (updated file)
  copy  www/build/polyfills.js platforms/ios/www/build/polyfills.js (updated file)
  copy  www/build/sw-toolbox.js platforms/ios/www/build/sw-toolbox.js (updated file)
  copy  www/build/vendor.js platforms/ios/www/build/vendor.js (updated file)
  copy  www/build/vendor.js.map platforms/ios/www/build/vendor.js.map (updated file)
  copy  www/index.html platforms/ios/www/index.html (updated file)
  copy  www/manifest.json platforms/ios/www/manifest.json (updated file)
  copy  www/service-worker.js platforms/ios/www/service-worker.js (updated file)
Current launch storyboard CDVLaunchScreen
Not changing launch storyboard setting in info plist.
Wrote out iOS Bundle Identifier "com.ministryjw.originjw" and iOS Bundle Version "1.1.2" to /Users/Daniele/Berufliches/JW Projects/OriginJW/originjw/platforms/ios/OriginJW/OriginJW-Info.plist
No need to update build settings for launch storyboard support.
iOS Product Name has not changed (still "OriginJW")
Updating icons at platforms/ios/OriginJW/Images.xcassets/AppIcon.appiconset/
Updating splash screens at platforms/ios/OriginJW/Images.xcassets/LaunchImage.launchimage/
Updating launch storyboard images at platforms/ios/OriginJW/Images.xcassets/LaunchStoryboard.imageset/
Updating Storyboard image set contents.json
This app does not have additional resource files defined
Prepared iOS project successfully
Executing script found in plugin cordova-plugin-ios-localized-strings for hook "after_prepare": plugins/cordova-plugin-ios-localized-strings/scripts/add_supported_languages.js
Resolving module name for cordova-common => cordova-common
[iOS] Setting main language to: English
[iOS] Setting also additional languagees to: it,de,en
No scripts found for hook "before_compile".
Error: Cannot read property 'toLowerCase' of undefined
[ERROR] An error occurred while running subprocess cordova.

        cordova build ios --verbose exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.
  ionic:cli-framework:utils:process onBeforeExit handler: process.exit received +0ms
  ionic:cli-framework:utils:process onBeforeExit handler: running 2 queued functions +0ms
  ionic:cli-framework:utils:process onBeforeExit handler: exiting (exit code 1) +68ms

In my code everything is okay - I can start the app well with ionic serve. Do you have an idea what´s the issue?

Upvotes: 2

Views: 5572

Answers (2)

Jovo Skorupan
Jovo Skorupan

Reputation: 267

I had this error with "cordova-ios": "^4.5.5". After updating to "cordova-ios": "^5.1.1" it worked.

Upvotes: 1

Prateek Chitransh
Prateek Chitransh

Reputation: 171

Try the following steps :

  1. ionic cordova platform rm ios
  2. ionic cordova platform add ios@latest
  3. ionic cordova build ios

It works fine. Hope this works for you too. :)

Upvotes: 4

Related Questions