Ionic 2 应用程序的 Safari 远程调试器立即断开连接

8
我正在尝试使用Safari远程开发工具调试一个用Ionic 2(Angular 2)编写的应用程序。当我连接iPhone到Mac并打开该应用时,它会出现在“Safari > Develop”菜单下,但是一旦我连接它(开发工具确实出现),它就从“Safari > Develop”菜单中消失了,并且在新打开的开发工具中,我无法在控制台中执行任何操作或者展开元素面板中的任何节点。
当我拔掉再重新插入设备时,它会再次出现在“Safari > Develop”中,但是开发工具窗口已经消失了,而一旦我再次打开它...同样的问题。
有什么帮助吗?
2个回答

11

你不会相信是什么解决了这个问题....

通过在终端执行/Applications/Safari.app/Contents/MacOS/Safari来运行Safari.app,它像往常一样打开了Safari,但由于某种奇怪的原因,在通过远程开发工具连接到设备时,它没有断开连接。


1
我有完全相同的问题,不幸的是你的解决方法似乎对我无效 :( - Jean-Philippe
哇,这不可思议地也解决了远程调试我的 Cordova 应用程序的问题。谢谢! - Joshua R.
2
真是不可思议,你是个传奇! - Dave
禁用源映射构建(ng build --source-map=false)也可以解决问题,但如果需要调试JS/TS,则这是一个不好的解决方案。从终端运行Safari! - Rip Ryness

0

我终于用两个步骤解决了这个问题: 首先,我使用ios-webkit-debug-proxy在Linux机器上获取一些调试控制台(https://github.com/google/ios-webkit-debug-proxy)(您需要从源代码编译,包括来自libimobiledevice的工具,以使其与iOS>= 10兼容)

然后,它帮助我注意到我有很多错误,例如Refused to load the script 'http://xxxxx' because it violates the following Content Security Policy directive: "connect-src ...,而在远程调试Android和Chrome时没有发生。通过在index.html中添加适当的规则到<meta http-equiv="Content-Security-Policy" content="..."行中来修复它们。不知道哪一个确切地解决了它,但我怀疑connect-src wss://s-usc1c-nss-128.firebaseio.com http://my_local_ip:4200 https://maps.googleapis.com ws://*;起了作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接