Search code examples
cordovavisual-studio-2017visual-studio-cordova

VS2017 cordova iOS build fails with no error code


When trying to build a cordova app from visual studio 2017 for iOS on a Mac using remoteserver, the build fails and no reason for the failure is provided.

The build is done following the procedure in Visual Studio Tools for Apache Cordova: iOS Guide using remoteserver in non-secure mode.

The remoteserver, jnode and xcode have been updated on the Mac. The same application was built previously from VS2015 with a similar setup.

The last few entries in the VS output window are:

Wrote out iOS Bundle Identifier "com.bytebloc.sked" and iOS Bundle Version "2.1" to /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600/cordovaApp/platforms/ios/#TestApp#/#TestApp#-Info.plist
Set TARGETED_DEVICE_FAMILY to "1,2".
iOS Product Name has not changed (still "#TestApp#")
Updating icons at platforms/ios/#TestApp#/Images.xcassets/AppIcon.appiconset/
Updating splash screens at platforms/ios/#TestApp#/Images.xcassets/LaunchImage.launchimage/
Prepared iOS project successfully
Executing script found in config.xml for hook "after_prepare": hooks/xcode8.js
Checking config.xml for saved plugins that haven't been added to the project
Saving [email protected] into platforms.json
No scripts found for hook "after_platform_add".
Failed to build app for buildNumber 600:

The remoteserver window shows the following entries:

taco-remote-multiplexer downloaded and installed.
Error: ENOENT: no such file or directory, open '/Users/ccs/.taco_home/node_modules/taco-remote-multiplexer/latest/node_modules/taco-remote-multiplexer/tacoRemoteMultiplexer.js'
Build will be executed under: /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600
Saving build request payload to : /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600
Saved uploaded build to /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600/upload_600.tgz
POST /cordova/build/tasks?command=build&vcordova=6.3.1&cfg=release&options=--device 202 1348.564 ms - 629
GET /cordova/build/tasks/600 200 0.970 ms - 629
Extracted app contents from uploaded build request to /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600/cordovaApp. Requesting build.
Taking 600 as current build
GET /cordova/build/tasks/600 200 1.428 ms - 687
Done with current build. Checking for next build in queue.

Based on this discussion, it does not appear that the ENOENT error is the source of the issue.

Additionally, running file build.xcconfig for the build directly on the Mac from directory /cordovaApp/platforms/ios/build results in the application being compiled and built successfully.

What could be the problem?


Solution

  • Just wanted to insist that is important to:

    install latest version on windows : npm install -g cordova configure VS to use cordova 7.0.0 (on config.xml, in the platforms tab. If you don't see it, just change taco.json to 7.0.0) install latest cordova on mac : npm install -g cordova install on mac the latest version of ios-deploy : npm install ios-deploy remove the folder ~/.taco-home/node_modules/ install the latest remotebuild on mac : npm install remotebuild (it should be 2.1.3).