使用 Xcode 调试 Xamarin.iOS 应用

在某些情况下,你可能希望使用 Xcode 调试 Xamarin.iOS 应用程序的某些部分。 虽然无法调试其中的 .NET 代码,但仍能够调试本机代码并使用 Xcode 中的某些本机可视化工具。

演练

虽然 Visual Studio for Mac 中没有对 Xcode 调试的内置支持,但可以使用以下步骤来实现此目的:

  1. 创建 Xcode iOS 应用,使其捆绑包 ID 与 Xamarin 应用中的相同。

    • 可以通过打开 Info.plist 文件来查找 Xamarin.iOS 项目的捆绑标识符:

      Editing Info.plist

    • 在 Xcode 中,可以在创建项目时或通过在项目中选择目标来设置捆绑包标识符:

      Setting the Bundle Identifier in Xcode

  2. 更改 Xcode 项目以等待启动,而不是自动启动应用:

    • 通过选择“产品”>“方案”>“编辑方案”,或者使用“cmd⌘ + <”键盘快捷键打开“编辑方案面板”。

    • 选择“运行”方案,然后应在右侧面板中看到“启动”选项。 选择“等待可执行文件启动”,然后单击“关闭”。

      Wait for executable to be launched

  3. 运行 Xcode 项目。

    这会在设备上安装虚拟 Xcode 应用,但不会启动它。

  4. 运行 Xamarin 应用。

    Xcode 应在启动时附加到 Xamarin 应用。

注意事项

每次启动时,可能需要对 Xamarin.iOS 应用进行少量更改。 否则,Visual Studio for Mac 将检测到该应用不需要生成且已安装,并且不会通过 Xcode 虚拟应用重新安装它。

替代方法 - 使用 lldb

如果熟悉从命令行使用 lldb,则有一个更简单的解决方案。

在 shell 中,运行以下命令:

touch ~/.mtouch-launch-with-lldb

你将在“应用程序输出”窗口中获取操作说明,但大体上,在运行应用程序时,你将能够从命令行使用 lldb 来调试应用程序。