Meteor 1.6 how do I get/upgrade to latest Cordova?

I have updated my project to Meteor 1.6 but I am seeing some issues when I meteor add-platform ios

cordova-custom-config: Installed npm dependencies
%% Plugin doesn't support this project's cordova-ios version. cordova-ios: 4.5.1, failed version requirement: <4.5.0
%% Skipping 'cordova-plugin-console' for ios  
Google Sign-In prerequisites                 -
START Running hook to add iOS Keychain Sharing entitlements (required since iOS 10)
Will add iOS Keychain Sharing entitlements to project 'Buzzy'
END Running hook to add iOS Keychain Sharing entitlements (required since iOS 10)
cordova-custom-config: Skipping auto-restore of config file backup(s)
cordova-custom-config: Applied custom config from config.xml to /Users/adamginsburg/Documents/development/buzzy7/.meteor/local/cordova-build/platforms/ios/Buzzy/Buzzy-Info.plist
ios: added platform                   

The plugin cordova-plugin-console is not actually needed anymore as it’s built in now included …

This plugin is no longer being worked on as the functionality provided by this plugin is now included in cordova-ios > 4.5.0 or greater, and support is already built in to cordova-windows > 5.0.0. You should remove this plugin from your > applications.

So it seems like the Cordover version of my Meteor project is on 4.5.1… how do I get it to a later version (post 5)?

thanks

BTW these are the cordova plugins I currently have:

cordova-custom-config@3.3.0
cordova-plugin-calendar@4.4.7
cordova-plugin-compat@1.2.0
cordova-plugin-console@1.1.0
cordova-plugin-contacts@2.3.1
cordova-plugin-device@1.1.6
cordova-plugin-file@4.3.3
cordova-plugin-geolocation@2.4.3
cordova-plugin-image-picker@1.1.3
cordova-plugin-inappbrowser@1.7.1
cordova-plugin-ios-ble-permissions@1.0.1
cordova-plugin-media-capture@1.4.3
cordova-plugin-speech-recognition-feat-siri@2.1.1
cordova-plugin-speechrecognition@https://github.com/pbakondy/cordova-plugin-speechrecognition.git#9302a31f7007a0180bd291e52da4130b48661924
cordova-plugin-splashscreen@4.0.0
cordova-plugin-statusbar@2.2.3
cordova-plugin-wkwebview-engine@1.1.3
cordova.plugins.diagnostic@3.0.2
phonegap-plugin-push@1.10.5

The latest released version of cordova-ios is v4.5.3. This pull request in Meteor 1.6.1 provides this version. There is no version 5 of cordova-ios.

Also, sounds like you might need to update to cordova-custom-config@4.4.0 and remove cordova-plugin-console@1.1.0 from your ./meteor/cordova-plugins file.

Thanks. @skirunman yep, if I remove cordova-plugin-console I get a linker error in Xcode, if I add it back in it goes away.

The error is around duplicates…

duplicate symbol _OBJC_CLASS_$_CDVLogger in:
    /Users/adamginsburg/Library/Developer/Xcode/DerivedData/Buzzy-dqirsrcohaqedrfarjlcqjhtcjxc/Build/Intermediates.noindex/Buzzy.build/Debug-iphoneos/Buzzy.build/Objects-normal/arm64/CDVLogger.o
    /Users/adamginsburg/Library/Developer/Xcode/DerivedData/Buzzy-dqirsrcohaqedrfarjlcqjhtcjxc/Build/Products/Debug-iphoneos/libCordova.a(CDVLogger.o)
duplicate symbol _OBJC_METACLASS_$_CDVLogger in:
    /Users/adamginsburg/Library/Developer/Xcode/DerivedData/Buzzy-dqirsrcohaqedrfarjlcqjhtcjxc/Build/Intermediates.noindex/Buzzy.build/Debug-iphoneos/Buzzy.build/Objects-normal/arm64/CDVLogger.o
    /Users/adamginsburg/Library/Developer/Xcode/DerivedData/Buzzy-dqirsrcohaqedrfarjlcqjhtcjxc/Build/Products/Debug-iphoneos/libCordova.a(CDVLogger.o)
ld: 2 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

any ideas pls?

I deleted CDV_Logger from the project and the error went away… that said, I can’t seem to find the dependency on it. I have been through all the cordovaplugins I have and can’t seem to see it. :-/ So me deliting the files out of the XCode project this seems like a complete hack… which gets overritten each time I do a meteor run ios-device

is there a command I can use to see what version of Cordova is actually running?

1 Like

Look in /.meteor/local/cordova-build/platforms/platforms.json

For Meteor 1.6 you should see

{
    "android": "6.2.3",
    "ios": "4.5.1"
}

Thanks @skirunman. I see exactly that.

cheers

@skirunman phew I had to rebuild a machine and now I cannot build Android app with Meteor 1.6.1.1. I can successfully build the iOS app

mty platfroms.json looks like:

{
  "android": "https://github.com/meteor/cordova-android/tarball/317db7df0f7a054444197bc6d28453cf4ab23280",
  "ios": "4.5.4"
}

these are my current plugins:

cordova-android-support-gradle-release@1.2.0
cordova-custom-config@5.0.2
cordova-plugin-calendar@4.4.7
cordova-plugin-compat@1.2.0
cordova-plugin-console@1.1.0
cordova-plugin-contacts@2.3.1
cordova-plugin-customurlscheme@https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin.git#d220fb3769b8ddbb197b91f18b57ceb315a85f44
cordova-plugin-device@1.1.1
cordova-plugin-file@4.3.3
cordova-plugin-geolocation@2.4.3
cordova-plugin-image-picker@1.1.3
cordova-plugin-inappbrowser@1.7.2
cordova-plugin-ios-ble-permissions@1.0.1
cordova-plugin-media-capture@1.4.3
cordova-plugin-meteor-webapp@1.4.2
cordova-plugin-speech-recognition-feat-siri@2.1.1
cordova-plugin-speechrecognition@https://github.com/pbakondy/cordova-plugin-speechrecognition.git#9302a31f7007a0180bd291e52da4130b48661924
cordova-plugin-splashscreen@4.1.0
cordova-plugin-statusbar@2.3.0
cordova-plugin-wkwebview-engine@1.1.4
cordova.plugins.diagnostic@3.0.2
phonegap-plugin-push@1.10.5


I am getting the following crash on the console. ie app builds and deplous to my local plugged in device… I see the login screen but it then crashes…

I20180524-21:16:59.721(10)? 05-24 21:16:54.420 19404 19508 E chromium: [ERROR:devtools_http_handler.cc(292)] Cannot start http server for devtools. Stop devtools.
I20180524-21:16:59.723(10)? 05-24 21:16:56.601 19404 19583 E chromium: [ERROR:BudgetService.cpp(160)] Unable to connect to the Mojo BudgetService.
I20180524-21:17:02.218(10)? 05-24 21:17:01.546 19404 19404 I chromium: [INFO:CONSOLE(1218)] "deviceready has not fired after 5 seconds.", source: http://localhost:12456/cordova.js (1218)
I20180524-21:17:02.220(10)? 05-24 21:17:01.547 19404 19404 I chromium: [INFO:CONSOLE(1211)] "Channel not fired: onDOMContentLoaded", source: http://localhost:12456/cordova.js (1211)
I20180524-21:17:04.603(10)? 05-24 21:17:03.930 19404 19404 I chromium: [INFO:CONSOLE(83)] "currentDomain", source: http://localhost:12456/packages/buzzy-buzz_resources-core.js?hash=40a6c5899ba0d55aaf106a32f42699e807458d0f (83)
I20180524-21:17:04.603(10)? 05-24 21:17:03.931 19404 19404 I chromium: [INFO:CONSOLE(84)] "BUZZY_TEMPLATE_SERVER:false", source: http://localhost:12456/packages/buzzy-buzz_resources-core.js?hash=40a6c5899ba0d55aaf106a32f42699e807458d0f (84)
I20180524-21:17:10.749(10)? 05-24 21:17:10.075 19404 19404 I chromium: [INFO:CONSOLE(74413)] "Uncaught TypeError: cordova.plugins.diagnostic.isExternalStorageAuthorized is not a function", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (74413)
I20180524-21:17:10.892(10)? 05-24 21:17:10.219 19404 19404 I chromium: [INFO:CONSOLE(309)] "Error in Success callbackId: Diagnostic1669100838 : TypeError: cordova.plugins.diagnostic.requestLocationAuthorization(...) is not a function", source: http://localhost:12456/cordova.js (309)
I20180524-21:17:10.894(10)? 05-24 21:17:10.221 19404 19404 I chromium: [INFO:CONSOLE(309)] "Error in Success callbackId: Diagnostic1669100839 : TypeError: cordova.plugins.diagnostic.requestContactsAuthorization(...) is not a function", source: http://localhost:12456/cordova.js (309)
I20180524-21:17:10.897(10)? 05-24 21:17:10.222 19404 19404 I chromium: [INFO:CONSOLE(309)] "Error in Success callbackId: Diagnostic1669100841 : TypeError: successCallback is not a function", source: http://localhost:12456/cordova.js (309)
I20180524-21:17:10.897(10)? 05-24 21:17:10.223 19404 19404 I chromium: [INFO:CONSOLE(309)] "Error in Success callbackId: Diagnostic1669100842 : TypeError: successCallback is not a function", source: http://localhost:12456/cordova.js (309)
I20180524-21:17:10.993(10)? 05-24 21:17:10.321 19404 19404 I chromium: [INFO:CONSOLE(78139)] "query pageStyle", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (78139)
I20180524-21:17:11.105(10)? 05-24 21:17:10.433 19404 19404 I chromium: [INFO:CONSOLE(74391)] "Uncaught (in promise) TypeError: cordova.plugins.diagnostic.requestLocationAuthorization(...) is not a function", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (74391)
I20180524-21:17:11.110(10)? 05-24 21:17:10.435 19404 19404 I chromium: [INFO:CONSOLE(74402)] "Uncaught (in promise) TypeError: cordova.plugins.diagnostic.requestContactsAuthorization(...) is not a function", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (74402)
I20180524-21:17:11.110(10)? 05-24 21:17:10.436 19404 19404 I chromium: [INFO:CONSOLE(466)] "Uncaught (in promise) TypeError: successCallback is not a function", source: http://localhost:12456/plugins/cordova.plugins.diagnostic/www/android/diagnostic.js (466)
I20180524-21:17:11.111(10)? 05-24 21:17:10.437 19404 19404 I chromium: [INFO:CONSOLE(324)] "Uncaught (in promise) TypeError: successCallback is not a function", source: http://localhost:12456/plugins/cordova.plugins.diagnostic/www/android/diagnostic.js (324)
I20180524-21:17:11.117(10)? 05-24 21:17:10.445 19404 19404 I chromium: [INFO:CONSOLE(65103)] "LAYOUT AUTORUN 2", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65103)
I20180524-21:17:11.119(10)? 05-24 21:17:10.446 19404 19404 I chromium: [INFO:CONSOLE(65105)] "LAYOUT AUTORUN 2", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65105)
I20180524-21:17:11.131(10)? 05-24 21:17:10.459 19404 19404 I chromium: [INFO:CONSOLE(65125)] "about to subs for communityID", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65125)
I20180524-21:17:11.147(10)? 05-24 21:17:10.474 19404 19404 I chromium: [INFO:CONSOLE(71938)] "NO CONNECTIONS HEADER", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (71938)
I20180524-21:17:11.561(10)? 05-24 21:17:10.886 19404 19404 I chromium: [INFO:CONSOLE(74381)] "Authorization request for camera use was granted", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (74381)
I20180524-21:17:12.349(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: Download failure
I20180524-21:17:12.349(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: com.meteor.webapp.WebAppException: Skipping downloading new version because the Cordova platform version or plugin versions have changed and are potentially incompatible
I20180524-21:17:12.350(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at com.meteor.webapp.WebAppLocalServer.shouldDownloadBundleForManifest(WebAppLocalServer.java:367)
I20180524-21:17:12.350(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at com.meteor.webapp.AssetBundleManager$1.onResponse(AssetBundleManager.java:131)
I20180524-21:17:12.350(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133)
I20180524-21:17:12.350(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
I20180524-21:17:12.350(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
I20180524-21:17:12.351(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
I20180524-21:17:12.351(10)? 05-24 21:17:11.674 19404 19807 E MeteorWebApp: 	at java.lang.Thread.run(Thread.java:761)
I20180524-21:17:12.533(10)? 05-24 21:17:11.863 19404 19404 I chromium: [INFO:CONSOLE(70)] "Error: Skipping downloading new version because the Cordova platform version or plugin versions have changed and are potentially incompatible", source: http://localhost:12456/packages/webapp.js?hash=d8189fa667b77a6959459ae756c28fd264ac2eaa (70)
I20180524-21:17:13.606(10)? 05-24 21:17:12.934 19404 19404 I chromium: [INFO:CONSOLE(65103)] "LAYOUT AUTORUN 2", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65103)
I20180524-21:17:13.606(10)? 05-24 21:17:12.935 19404 19404 I chromium: [INFO:CONSOLE(65105)] "LAYOUT AUTORUN 2", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65105)
I20180524-21:17:13.607(10)? 05-24 21:17:12.936 19404 19404 I chromium: [INFO:CONSOLE(65125)] "about to subs for communityID", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65125)
I20180524-21:17:13.627(10)? 05-24 21:17:12.955 19404 19404 I chromium: [INFO:CONSOLE(78139)] "query pageStyle", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (78139)
I20180524-21:17:13.665(10)? 05-24 21:17:12.993 19404 19404 I chromium: [INFO:CONSOLE(78139)] "query pageStyle", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (78139)
I20180524-21:17:13.881(10)? 05-24 21:17:13.209 19404 19404 I chromium: [INFO:CONSOLE(65393)] "sign in origin", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65393)
I20180524-21:17:13.882(10)? 05-24 21:17:13.211 19404 19404 I chromium: [INFO:CONSOLE(65393)] "sign in origin", source: http://localhost:12456/app/app.js?hash=5b3bd261b85e451152d05b0a26062777fadd115a (65393)



from my .meteor/local/cordova-build/config.xml :

<name>Buzzy</name>
  <description>Intelligent Instant Apps</description>
  <author href="n/a" email="n/a">A Meteor Developer</author>
  <preference name="webviewbounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="AutoHideSplashScreen" value="false"/>
  <preference name="SplashScreen" value="screen"/>
  <preference name="SplashScreenDelay" value="5000"/>
  <preference name="FadeSplashScreenDuration" value="250"/>
  <preference name="ShowSplashScreenSpinner" value="false"/>
  <preference name="StatusBarOverlaysWebView" value="false"/>
  <preference name="StatusBarStyle" value="lightcontent"/>
  <preference name="StatusBarBackgroundColor" value="#000000"/>
  <preference name="HideKeyboardFormAccessoryBar" value="true"/>
  <preference name="KeyboardShrinksView" value="false"/>
  <preference name="LoadUrlTimeoutValue" value="40000"/>
  <preference name="WebAppStartupTimeout" value="40000"/>
  <preference name="android-targetSdkVersion" value="23"/>
  <preference name="android-minSdkVersion" value="16"/>
  <platform name="ios"> <config-file platform="ios" target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription"> <string>Required to be able to capture address location when using Buzzy custom forms with fields for Events, Field reports etc.</string> </config-file> <config-file platform="ios" target="*-Info.plist" parent="NSContactsUsageDescription"> <string>Required to be able to access contacts, so you can invite them to Buzzy apps from your Contacts.</string> </config-file> <config-file platform="ios" target="*-Info.plist" parent="NSPhotoLibraryUsageDescription"> <string>Required to be able to upload photos.</string> </config-file> <config-file platform="ios" target="*-Info.plist" parent="NSCameraUsageDescription"> <string>Required to be able to take photos and upload them.</string> </config-file> <config-file platform="ios" target="*-Info.plist" parent="NSCalendarsUsageDescription"> <string>Required to add events your calendar</string> </config-file> <config-file platform="ios" target="*-Info.plist" parent="NSSpeechRecognitionUsageDescription"> <string>Required to be able to get voice instructions.</string> </config-file> <config-file platform="ios" target="*-Info.plist" parent="NSMicrophoneUsageDescription"> <string>Required to receive voice instructions</string> </config-file>  <config-file platform="ios" target="*-Info.plist" parent="NSBluetoothPeripheralUsageDescription"> <string>This app requires Bluetooth to connect to additional hardware.</string>  </config-file>  </platform>

ps I have tried add/remove platforms, meteor reset etc etc tried with different version of plugins, no luck yet

some other related issues I have logged:

Reviving Old thread as I wanted to get some confirmation from experts. I have moved my app to 1.8.0.2 meteor release but still when I try to build Android app the platform json point to

{
  "android": "https://github.com/meteor/cordova-android/tarball/317db7df0f7a054444197bc6d28453cf4ab23280",
  "ios": "4.5.4"
}

Still pointing to cordova-android 6.4.0, Whereas when I see GITHUB meteor/ cordova-android I notice things have moved on, but for some reason my app is still picking old.
Wanted to check if I am doing wrong or some dependency is forcing to use older version. Or is this the current version.
Please help.

Hi, this PR is the umbrella for updating Cordova https://github.com/meteor/meteor/pull/10810

1 Like

FYI we have stopped using Cordova in favour of react-native-meteor / react-native-meteor-offline