从 Visual Studio 2019 Xamarin.iOS 连接到 Mac 的经纪人问题

Broker Problem with connect to Mac from Visual Studio 2019 Xamarin.iOS

将 mac OS 更新为 Catalina 10.15.4 和 XCode 11.4 以及 VS 2019 16.5.1
我无法从 VS 与 mac 配对,VS 出现错误:
尝试启动 Broker 时发生错误...”。

日志文件中的信息:
“无法安装代理。
已建立与“192.168.233.1”的连接 ...
服务器从 ConnectingState 变为 DisconnectingState 到 192.168.233.1 (192.168.233.1).
正在与 192.168.233.1 断开连接 ...
服务器从 DisconnectingState 变为 DisconnectedState 为 192.168.233.1 (192.168.233.1).
已建立与“192.168.233.1”的连接。
尝试启动 Broker 时出错 ...
客户端 vs - 30 秒内未发送任何数据包。
向服务器发送 Ping 以保持 Keep Alive

我认为连接到 macOS 的问题,因为
Apple 将 bash 替换为默认的 zsh shell 在 macOS 卡特琳娜 中。

我尝试执行后续步骤来解决它:
1) 删除 Mac 和 Windows 上的 XMA 文件夹:
在 MacOs 上:open "$HOME/Library/Caches/Xamarin"
获胜时:%localappdata%\Temp\Xamarin\XMA

2) 我接受 XCode 关于 MacOS 的协议:

sudo xcodebuild -license accept

3) 然后我尝试连接到 MacOS,但出现错误:
检查 SSH 配置“192.168.233.1”时发生意外错误。已添加具有相同密钥的项目。

我通过删除此目录中的 hosts.key 文件来修复它:

 %LOCALAPPDATA%\Xamarin\MonoTouch

我又遇到了同样的错误:"An error occurred while trying to start Broker ..."

4) 我用 Mac 检查了 ping ping 192.168.233.1 - 有效,

ssh username@192.168.233.1 

此命令给出了消息:
“默认的交互 shell 现在是 zsh。 要更新您的帐户以使用 zsh,请 运行 chsh -s /bin/zsh。 更多详情,请访问https://support.apple.com/kb/HT208050."

请提供任何建议如何解决 Broker 的问题,以便将 Visual Studio 与 MacOS 与 Catalina 配对。

我找到了解决方案:

  1. id_rsa.pub复制内容,它的位置在这里:

    %LOCALAPPDATA%\Xamarin\MonoTouch\

  2. 将其粘贴到 mac ~/.ssh/authorized_keys 中换行。

  3. 将附加的scp.zip二进制文件下载到[=]上的下载文件夹115=]解压.

  4. 需要temporarily disable the System Integrity Protection (SIP):

  • 重启系统按住 Command+R (⌘+R) 听到启动提示音时同时按键;这将启动macOS进入恢复模式

  • 进入恢复模式后,从屏幕顶部的实用程序下拉菜单中打开终端 window。在终端中输入命令并执行:
    csrutil disable

  • 在终端中输入reboot

  1. 当Mac会重启时,在Terminal中执行下一条命令:

    sudo mount -uw /

备份旧SCP:

sudo cp /usr/bin/scp /usr/bin/scp.bak

替换SCP:

sudo cp ~/Downloads/scp /usr/bin/scp

现在尝试连接,它应该可以工作。

  1. 安装后重新启用 SIP:
    再次重启进入恢复模式(⌘+R 在系统提示音时)。
    打开终端并输入:
    csrutil enable

    重启

删除或重命名 windows 电脑上的文件夹 %LOCALAPPDATA%\Xamarin\MonoTouch\

在 mac

上删除或重命名文件夹 ~/.ssh/authorized_keys

删除 visual studio 中 mac 的连接并再次添加新连接

我正在添加 Alex 的回答,因为我还不能发表评论。

删除 %LOCALAPPDATA%\Xamarin\MonoTouch\ 后,我还删除了 %LOCALAPPDATA%\Temp\Xamarin\XMA,然后从我的 Mac 的 .ssh 文件夹中删除了授权密钥。

这对我有用,我能够从我的 Windows 机器上再次将它构建到我的 Mac。