在某些情况下,你可能希望使用 Xcode 调试 Xamarin.iOS 应用程序的某些部分。 虽然无法调试其中的 .NET 代码,但仍能够调试本机代码并使用 Xcode 中的某些本机可视化工具。
演练
虽然 Visual Studio for Mac 中没有对 Xcode 调试的内置支持,但可以使用以下步骤来实现此目的:
创建 Xcode iOS 应用,使其捆绑包 ID 与 Xamarin 应用中的相同。
可以通过打开 Info.plist 文件来查找 Xamarin.iOS 项目的捆绑标识符:
在 Xcode 中,可以在创建项目时或通过在项目中选择目标来设置捆绑包标识符:
更改 Xcode 项目以等待启动,而不是自动启动应用:
通过选择“产品”>“方案”>“编辑方案”,或者使用“cmd⌘ + <”键盘快捷键打开“编辑方案面板”。
选择“运行”方案,然后应在右侧面板中看到“启动”选项。 选择“等待可执行文件启动”,然后单击“关闭”。
运行 Xcode 项目。
这会在设备上安装虚拟 Xcode 应用,但不会启动它。
运行 Xamarin 应用。
Xcode 应在启动时附加到 Xamarin 应用。
注意事项
每次启动时,可能需要对 Xamarin.iOS 应用进行少量更改。 否则,Visual Studio for Mac 将检测到该应用不需要生成且已安装,并且不会通过 Xcode 虚拟应用重新安装它。
替代方法 - 使用 lldb
如果熟悉从命令行使用 lldb,则有一个更简单的解决方案。
在 shell 中,运行以下命令:
touch ~/.mtouch-launch-with-lldb
你将在“应用程序输出”窗口中获取操作说明,但大体上,在运行应用程序时,你将能够从命令行使用 lldb 来调试应用程序。