很抱歉,提前说一下这个问题比较长,但我已经浪费了3天的时间,无法成功地设置Xamarin.iOS开发环境,以便在物理设备上进行调试(而不是iPhone模拟器)。我不知道接下来该尝试什么。
我认为我的配置是相当标准的Xamarin配置:
- 运行Visual Studio 2015和Xamarin v4.2.0.703的Windows 10 PC
- HTC手机通过USB连接到PC进行Android调试(正常工作)
- 运行OS X 10.11的MacBook,带有Xamarin Studio v6.1.1和Xcode v8.0
- 将iPhone或iPad通过USB连接到Mac进行iOS调试
我首先在Visual Studio中创建了一个Xamarin解决方案,最初在Android上进行开发和调试。
为了进入iOS调试,我使用Xcode和Xamarin Studio设置了Mac,启用了远程登录,并创建了一个与我的Xamarin.iOS应用程序具有相同bundle identifier的虚拟Xcode项目。我还尝试了创建一个用于应用程序的签名标识和配置文件的复杂过程,并将它们下载/安装到Mac上。这个过程非常不直观(而且Xcode内部的视觉反馈非常差),我不确定是否正确完成了它。但是,我能够在iPhone上运行虚拟的Xcode项目,所以我认为应该没问题?
在Windows PC上,Visual Studio设置中的Xamarin> iOS Options面板确认Visual Studio已连接到Mac,并且附加的iPhone也列为候选目标设备,因此似乎一切都设置好了可以进行设备调试。
如果我尝试从Visual Studio在iPhone模拟器上调试应用程序,它可以正常工作。然而,在物理iPhone上调试失败,并显示以下无用信息:
Xamarin.Messaging.Exceptions.MonotouchException: error MT1006: Could not install the
application '/Users/Tim/Library/Caches/Xamarin/mtbs/builds/Test.iOS/c4f40041b6c58fc579a727bccfc18614/bin/iPhoneSimulator/Debug/TestiOS.app'
on the device 'Tim’s iPhone': AMDeviceSecureInstallApplicationBundle returned: 0xe8008001.
作为比较,我还尝试了在Mac上直接使用Xamarin Studio进行调试。同样,iPhone模拟器可以正常工作,但是无法使用实际设备启动调试会话,因为连接的iPhone未列为“Debug | iPhone”配置的目标设备候选项。如果我打开项目选项并导航到“iOS Debug”视图,则可以看到与“Debug”配置关联的平台为“iPhoneSimulator”。将其更改为“iPhone”并保存配置似乎可以工作,但实际上并未保存更改。我想这就是我的测试设备未被列出的原因,但我不清楚需要做什么才能使Xamarin Studio接受我的更改。
所以,经过所有这些实验,我完全迷失了方向。拥有一个完整、强大的A-Z教程来完成此设置过程将非常有帮助,但如果没有,任何建议都将非常感激。
更新:如果我使用“Ad-Hoc”项目配置(无论是在Visual Studio还是Xamarin Studio中),它都可以正确地在设备上部署和启动应用程序,但不能附加调试器。如果我在Ad-Hoc项目配置中明确启用调试,Xamarin Studio会忽略它,但是Visual Studio会附加调试器,但不会触发任何断点。这一切听起来是否正确?它提供了任何线索,说明我需要更改哪些内容才能使“Debug”配置正确地工作吗?