Reputation: 1502
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
Reputation: 267
I had this error with "cordova-ios": "^4.5.5". After updating to "cordova-ios": "^5.1.1" it worked.
Upvotes: 1
Reputation: 171
Try the following steps :
It works fine. Hope this works for you too. :)
Upvotes: 4