刚刚安装了Visual Studio Enterprise 2017,希望使用Xamarin开发iOS应用程序,由于与Xamarin的连接问题,我过去放弃了这些应用程序。
无论我做什么,Xamarin都无法可靠地连接到网络上的Mac。它确实连接了一次,但怀疑我的旧Mac太慢以至于无法避免Xamarin的超时问题,我从MacInCloud.com租了一台云Mac。 Xamarin仍然无法连接到遥控器,即使我可以通过Putty SSH连接到它。
有没有人有一个可靠的系统,或者知道一个很好的方法来解决这个问题? Xamarin错误报告和日志记录似乎没有任何帮助。
答案 0 :(得分:1)
在xamarin开发者页面中查看此示例:
https://developer.xamarin.com/guides/ios/getting_started/installation/windows/connecting-to-mac/
Windows安装程序 确保在Windows计算机上安装Xamarin工具。
连接 有两种方法可以连接到Mac构建主机:
在iOS工具栏上:
或浏览工具> Visual Studio中的选项,选择Xamarin> iOS设置,然后单击查找Xamarin Mac代理按钮:
导航到任何一种方式都将导致Mac Agent对话框,如下所示:
这将显示以前已连接并存储为已知计算机的所有计算机的列表,或者可用于远程登录的计算机。
通过双击Mac来连接它来选择Mac。第一次连接到Mac时,系统将提示您输入Mac用户凭据(必须是管理员帐户)以允许远程连接:
代理将使用这些凭据创建与Mac的新SSH连接。如果成功,将创建一个SSH密钥,并将在该Mac上的authorized_keys文件中注册。在后续连接中,代理将使用用户名和密钥文件连接到最近连接的已知构建主机。
注意:输入凭据时,您必须使用用户名而不是全名。您可以使用终端中的whoami命令找到它。例如,从下面的屏幕截图中,帐户名称将是amyb而不是Amy Burns:
成功建立连接后,它将显示在“主机选择”对话框中,旁边有一个连接图标,如下所示:
任何时候都只能连接一台Mac。
列表中的每台计算机,无论是连接还是其他,都会在右键单击时显示上下文菜单,允许您根据需要连接,断开连接或忘记Mac:
如果您选择忘记此Mac,则需要重新输入您的凭据才能再次连接到它。
手动添加Mac 在某些情况下,如果您无法在“主机选择”对话框中看到其mDNS名称,则可能希望手动添加Mac。为此,请按照以下步骤操作:
通过浏览系统偏好设置>找到Mac的IP地址。分享>在Mac上远程登录:
或者,如果您更喜欢使用命令行,可以通过在终端中输入ipconfig getifaddr en0来找到您的IP地址(请注意,根据连接的类型,变量可能是en1,en2等):
返回Visual Studio,在Host Selection对话框中,选择Add Mac ...:
在“添加Mac”对话框中输入Mac的IP地址,然后单击“添加”:
最后,输入Mac管理员帐户的用户名(非全名)和相应的密码:
单击“登录”后,Visual Studio将使用SSH登录Mac计算机,并将此Mac添加为已知计算机。
命令行支持 新代理还支持从命令行构建Xamarin.iOS配置。要使用它,您需要将以下必需参数传递给MSBuild:
ServerAddress - Mac服务器的IP地址。 ServerUser - 用于登录Mac Server的用户名(非全名)。 ServerPassword - 用于登录Mac主机的密码(可选)。 不需要ServerPassword参数。
相反,第一次通过使用Visual Studio或命令行传递密码,对于特定的Windows,Mac和用户配置,将生成密钥对并将其存储在Windows计算机上以供将来使用。它将位于%localappdata%\ Xamarin \ MonoTouch \ id_rsa中。如果未传递ServerPassword参数,则将使用id_rsa密钥文件进行身份验证。
使用带密码mypassword的xamUser帐户连接到Mac 10.211.55.2的示例命令如下所示:
C:\ samples \ App1> msbuild App1.sln /p:ServerAddress=10.211.55.2 / p:ServerUser = xamUser / p:Platform = iPhoneSimulator / p:ServerPassword = mypassword
答案 1 :(得分:0)
自从我升级到VS 2017以来遇到了同样的问题。刚才发生了两件事:
现在我可以连接Mac Agent并在Mac上运行模拟。