SyntaxError: token inesperado M (cuando se ejecuta el proyecto cordova desde Visual Studio 2015)

Cuando bash ejecutar mi aplicación Cordova usando Visual Studio 2015 usando el Dispositivo Remoto, obtengo un error "SyntaxError: Token Inesperado M". Visual Studio está instalado en Windows 10, que es un Parallels VM en mi Mac. He seguido los pasos para configurar remotebuild en mi Mac. Desde Visual Studio – Herramientas – opciones, puedo conectarme exitosamente al funcionamiento remotebuild en mi Mac. El proyecto funciona bien cuando lo ejecuto en Ripple en Chrome.

Aquí hay un poco más de antecedentes. Cuando empecé a trabajar en este proyecto, funcionaba bien y pude ejecutarlo en el simulador de iOS en mi Mac. En un momento, comenzó a darme un error diferente que estaba relacionado con mi count de desarrollador de iOS. Abrí Xcode en mi Mac y me di count de que necesitaba iniciar session en el website del desarrollador y aceptar el último acuerdo de licencia. Una vez que hice eso, intenté volver a ejecutar el proyecto desde Visual Studio. En ese momento vi un error relacionado con el certificate. Ejecuté el proyecto nuevamente y, a partir de ese momento, seguí recibiendo este error "SyntaxError: Un token M inesperado".

Intenté ejecutar una copy de security anterior del mismo proyecto. El error que obtengo con eso es:

An error occurnetworking uploading to the build server https://10.0.1.31:3000/cordova: Error: self signed certificate in certificate chain 

Aquí está la parte del logging de salida donde veo el post "SyntaxError: Token inesperado M":

 1> ------ changeList.deletedFilesIos: (TaskId:11) 1> ------ changeList.addedPluginsIos: org.apache.cordova.camera@0.3.6,org.apache.cordova.file-transfer@0.5.0,org.apache.cordova.splashscreen@1.0.0,org.apache.cordova.inappbrowser@0.6.0 (TaskId:11) 1> ------ changeList.deletedPluginsIos: (TaskId:11) 1> ------ changeList.addedPlugins: org.apache.cordova.camera@0.3.6,org.apache.cordova.file-transfer@0.5.0,org.apache.cordova.splashscreen@1.0.0,org.apache.cordova.inappbrowser@0.6.0 (TaskId:11) 1> ------ changeList.deletedPlugins: (TaskId:11) 1> ------ Updating plugins (TaskId:11) 1> SyntaxError: Unexpected token M (TaskId:11) 1>Done executing task "MdaVsCli" -- FAILED. (TaskId:11) 1>Done building target "BuildMDA" in project "MyPyaarApp.jsproj" -- FAILED.: (TargetId:12) 1> 1>Project Performance Summary: 1> 672 ms C:\svn\mypyaar\trunk\MyPyaarApp\MyPyaarApp\MyPyaarApp.jsproj 1 calls 1> 672 ms build 1 calls 1> 1>Target Performance Summary: 1> 0 ms BuildOnlySettings 1 calls 1> 0 ms CompileTypeScript 1 calls 1> 0 ms AfterBuild 1 calls 1> 0 ms TrackJsChanges 1 calls 1> 0 ms BeforeBuild 1 calls 1> 0 ms PreComputeCompileTypeScript 1 calls 1> 0 ms CoreBuild 1 calls 1> 16 ms _CheckForInvalidConfigurationAndPlatform 1 calls 1> 266 ms EnsureNodeJsRequirementsAreAtCorrectVersion 1 calls 1> 266 ms InstallMDA 1 calls 1> 391 ms BuildMDA 1 calls 1> 1>Task Performance Summary: 1> 0 ms MdaVerifySetup 1 calls 1> 0 ms MdaTrackJsChanges 1 calls 1> 0 ms Message 2 calls 1> 0 ms VsTsc 2 calls 1> 0 ms AssignTargetPath 1 calls 1> 266 ms RunMdaInstall 1 calls 1> 266 ms CallTarget 1 calls 1> 391 ms MdaVsCli 1 calls 1> 1>Build FAILED. 1> 1>Time Elapsed 00:00:00.65 ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== ========== Deploy: 0 succeeded, 0 failed, 0 skipped ========== 

Encontré la solución a esto !!!

Por suerte, tuve una copy de security anterior de mi proyecto que no produjo el post "SyntaxError: Token inesperado M" cuando lo ejecuté en el dispositivo remoto. Utilicé una herramienta de comparación para ver las diferencias en files / carpetas. Resultó que el file "remote_ios.json" ubicado en la carpeta de complementos estaba dañado. Lo eliminé y en la siguiente ejecución generó uno adecuado y todo ahora funciona como se esperaba. Puedo desplegar en el simulador de iOS en mi Mac, así como en mi iPhone.

Me di count unas cuantas veces más de que el file se corrompió. Cada vez que acabo de borrar el file y se recrearon y todo funcionó. Suena como un error en Visual Studio 2015.

Así es como mi file dañado remote_os.json se veía así:

 { "prepare_queue": { "installed": [], "uninstalled": [] }, "config_munge": { "files": { "framework": { "parents": { "ImageIO.framework": [ { "xml": true, "count": 1 } ], "CoreLocation.framework": [ { "xml": false, "count": 1 } ], "CoreGraphics.framework": [ { "xml": false, "count": 4 } ], "AssetsLibrary.framework": [ { "xml": false, "count": 3 } ], "MobileCoreSe 

La solucion es

y una solución más permanente para este problema (que funcionó para mí):

  1. Es eliminar tu carpeta de complementos.

  2. Restaure todos sus complementos. (que figura en su package.json en una matriz llamada cordovaPlugins )


Sugerencia : Ejecute el cordova plugin ls para tener una list de lo que necesita volver a agregar.

Yo uso iónico, así que solo usé este command: ionic state restre --plugins y voila problema resuelto para siempre (espero).

PD. Para su información, no ejecute cmd como administrador para esto, podría ser la causa de sus problemas con las aplicaciones de iOS …

Llegamos a la raíz del problema de la respuesta de Navid Harandi .