I have a Cordova project in TACO (Visual Studio 15) that used to build last year for Android and iOS using TFS. I have now revisited the project and upgraded the version of just about everything to support the latest versions of Android and iOS.
- cordova 5.4.1 -> 6.4.0
- cordova-android 4.1.1 -> 6.0.0
- cordova-ios 3.8 -> 4.3.1
- cordova-plugin-file 4.1.0 -> 4.3.2
- cordova-plugin-file-transfer 1.5.0 -> 1.6.2
- cordova-plugin-file-opener2 2.0.2 -> 2.0.8
- cordova-plugin-whitelist 1.2.1 -> 1.3.2
- node 0.12.2 -> 6.10.1
- Android SDK 24.0.2 -> 25.2.5
- Java JDK 1.7.xx -> 1.8.0.25
- XCode 6.3 -> 8.2.1
- OSX 10.10 -> 10.11.5
- ios-sim 4.1.1 -> 5.0.13
- ios-deploy 1.7.0 -> 1.9.1
- remotebuild 2.1.1 -> 2.1.3
- graceful-fs 4.1.3 -> 4.1.11
Both build from within Visual Studio 2015 (iOS using remotebuild), and after much tweaking Android builds through TFS.
However iOS through TFS is throwing up the following error
Executing "after_platform_add" hook for all plugins.
------ Updating plugins
------ Currently installed plugins: cordova-plugin-compat@1.1.0,cordova-plugin-file@4.3.2,cordova-plugin-file-opener2@2.0.8,cordova-plugin-file-transfer@1.6.2,cordova-plugin-whitelist@1.3.2
------ Currently installed dependent plugins: cordova-plugin-compat,cordova-plugin-file
------ Currently configured plugins:
MSBUILD : cordova-build error : Error: The edge module has not been pre-compiled for node.js version v6.10.1.
I had this problem with the Android TFS build, but installing a newer version of edge on the TFS build box fixed that. This iOS build is the same TFS server and runs under the same account.
I am aware vs-tac comes with version 5.0.0 of edge which may be the root of the issue, but I have updated edge on the build server and the Android build is happy. There is also a setting in VS 2015 for using a sandboxed version of node (which I have ticked) on my development PC, but I cannot find any similar setting when initiating a build in TFS - although this could be a red herring. Just for good measure I have updated edge on my Mac, but I don't think the build is actually getting as far as calling remotebuild.
Any assistance would be greatly appreciated