无法启动Cordova调试到iOS模拟器

Jac*_*cob 3 visual-studio-cordova

我已按照以下链接中的说明"在云中构建和模拟Cordova iOS应用程序".https://taco.visualstudio.com/en-us/docs/build_ios_cloud/

完成说明后,我能够构建并使iOS模拟器正常工作,但是,我无法附加调试器.

remotebuild中显示的消息是:

GET /cordova/build/5655/debug 500 10.865 ms - 28
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,我在"调试"窗口中看到以下内容:

Starting launch process C:\Program Files (x86)\nodejs\node.exe "(redacted)\node_modules\vs-tac\emulator.js" --platform ios --action launch --path "(redacted)\buildInfo.json" --serverUrl https://(redacted):3000/cordova --certificateName (redacted) --language en-US --loglevel info  --cliVersion 5.4.1 --npmInstallDir "(redacted)"  --deployTarget "iPhone 5"
Timed out connecting debugger to remote Apache Cordova app. See Output window for JavaScript console output.
------ Cordova tools 5.4.1 already installed.
Requesting emulate on iOS Simulator for buildNumber 5655 on server https://(redacted):3000/cordova...
Emulated - Successfully sent to ios Simulator
------ Cordova tools 5.4.1 already installed.
Requesting debug on remote iOS device for buildNumber 5655 on server https://(redacted):3000/cordova...
Failed to Debug iOS remote for build (redacted)\buildInfo.json to https://(redacted):3000/cordova :
iPhone 5
Run Code Online (Sandbox Code Playgroud)

我的本地开发机器使用的是Visual Studio 2015和Cordova 5.4.1.我在本地安装了Node v0.12.2,并在MacInCloud上安装了v0.12.9.按照上面链接中的说明,我不是Mac计算机上的管理员.

我也已经尝试过这个SO答案中建议的说明:Visual Studio Debugger无法连接到iOS模拟器中的远程Apache Cordova应用程序

Jac*_*cob 5

所有建议和其他人提供的链接都很有帮助,但最终我对问题的评估并不是Mac上的admin/root.在我的原始问题中链接的Visual Studio Cordova文档表明,您可以在没有管理员/ root访问权限的情况下在Mac上执行所需操作,但根据我的经验情况并非如此.

为了得到MacInCloud小组的信任,他们非常乐于帮助我进行权限更改以及重新安装诸如brew,ios-webkit-debug-proxy,remotebuild等软件包......但过了一段时间后退了 - - 解决这个问题的方法证明是痛苦的.当我从Managed MacInCloud服务器切换到专用服务器时,一切都立即起作用.

回想一下,我认为执行brew的remotebuild的初始执行 - 没有管理员 - 导致整个过程向南移动.我第一次运行remotebuild时会收到警告,它会安装一些可能需要root访问权限的brew组件.那对我来说应该是一个警示标志,不是管理员就成了一个问题......

即使我能够让专用的MacInCloud服务器工作,我学到的关于控制Mac的教训促使我只买了一台Mac Mini.这有点难以设置,因为我现在正在做所有事情,但最终我认为它最终会得到回报.

对于那些在类似问题上苦苦挣扎的人来说,这是我在学习过程中学到的一些东西:

  1. 您不一定需要让Visual Studio与Mac通信以调试Cordova应用程序.您可以使用Mac上的Safari Web Inspector.https://blog.nraboy.com/2015/10/debugging-your-apache-cordova-ios-app-with-safari/.即使我终于让VS工作了,我实际上更喜欢这个,因为它更像Chrome的调试器,我更喜欢Visual Studio.
  2. 其他注释和链接中提到的ios-webkit-debug-proxy NPM包基本上是Visual Studio用于调试模拟器的代理,其方式与上面提到的Safari完全相同.要使此代理工作,还必须允许您通过端口9221-9322连接到Mac.https://github.com/google/ios-webkit-debug-proxy.在了解之前我认为我只需要为远程构建代理打开端口3000 ...
  3. 从remotebuild启动iOS模拟器所需的包是ios-sim,它在启动模拟器时偶尔超时并导致调试器无法附加.这是一个已知的限制.https://github.com/phonegap/ios-simhttps://blogs.msdn.microsoft.com/visualstudio/2014/11/13/tools-for-apache-cordova-update-ios-debugging-windows- 8-1-支持/(见评论).
  4. 如果你觉得需要安装/卸载brew,这很容易做到.只需运行安装脚本,如果已经安装,它将为您提供有关如何卸载的说明.http://brew.sh/https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting.卸载或重新安装NPM软件包同样容易,Google也是您的朋友.
  5. 阅读并重新阅读这两个链接以设置Mac:https://taco.visualstudio.com/en-us/docs/ios-guide/https://taco.visualstudio.com/en-us/ docs/build_ios_cloud /.正确获取RemoteBuild.config对于获得安全连接至关重要 - 特别是如果您想在家中通过互联网访问Mac Mini.
  6. 如果你正在远程使用Mac,我强烈推荐iRAPP或其他一些VNC替代方案.我的经验是,当您解决问题时,VNC 非常缓慢并且连接不良会导致更加恶化.http://www.coderebel.com/products/irapp/
  7. 如上所述,当我请求支持时,MacInCloud的人员很棒,但如果你确实需要超过6个月的root访问权限,Mac Mini的成本低于专用服务器计划.

干杯