发布于 2026-01-06 5 阅读
0

使用 Visual Studio Code 和 Xcode 16 解决 macOS Sequoia 上的 .NET MAUI 问题

使用 Visual Studio Code 和 Xcode 16 解决 macOS Sequoia 上的 .NET MAUI 问题

使用 .NET MAUI 开发跨平台移动应用程序是一项充满成就感的工作,但同时也面临着诸多挑战,尤其是在苹果发布新版 macOS 和 Xcode 时。在这篇博文中,我将分享我在开发 .NET MAUI 移动应用项目时遇到的一个具体问题,并分享我如何克服这些问题的解决历程。无论您是经验丰富的开发者还是刚刚入门的新手,我都希望我的见解和解决方案能够帮助您应对类似的挑战,并简化您的开发流程。让我们一起深入探讨如何在 macOS Sequoia 上顺利运行您的 .NET MAUI 项目!


开始前的提示

根据我使用 .NET MAUI 开发移动应用的经验,以下是一些需要牢记的关键技巧:

  • 禁用 macOS 自动更新
  • 禁用 App Store 自动更新
  • 启用来自macOS官方存储库的通知,并定期检查更新,尤其是在即将发布新的 macOS 或 Xcode 主要版本时。

更新

#1

2024年9月26日 - macOS 团队正式发布了对 macOS Sequoia 和 .NET 8 中 Xcode 16 的支持,详情请见此处。

#2

如果您在使用配置文件时遇到以下问题:
The specified iOS provisioning profile '**********' could not be found,我的解决方法是将它们从~/Library/Developer/Xcode/UserData/Provisioning Profiles移动到~/Library/MobileDevice/Provisioning Profiles,感谢@vedatozkanTr的帮助。

#3

使用 Xcode 16 构建时可能会再次出现以下错误:strip exited with code 139,我找到的解决方案来自这篇文章,我所做的就是更新 .csproj 文件并添加以下属性组:

<PropertyGroup >
        <MtouchNoSymbolStrip Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">True</MtouchNoSymbolStrip>
</PropertyGroup>
Enter fullscreen mode Exit fullscreen mode

问题

在使用最新版本的 macOS 时,我发现 Xcode 15.4 不兼容,需要升级到 Xcode 16。然而,升级后,由于兼容性问题,.NET MAUI 停止工作了。

如何解决

几个月前,macios 代码库中创建了一个issue 。该 issue 概述了官方建议,并鼓励大家提出问题,以便其他用户能够提供一些可能对您有效的解决方法。

Visual Studio Code

如果您使用 Visual Studio Code 开发 .NET MAUI 项目,升级到 macOS Sequoia 后可能会遇到一些问题。以下是我发现的问题及其相应的解决方案:

找不到任务“maui: Build”

此错误是由于.NET MAUI 扩展的 HotReload 功能存在已知问题导致的。解决方法:我们的朋友BretJohnson建议禁用 XAML Hot Reload,看看问题是否解决。取消选中此处所示的用户首选项复选框。

Xcode 版本

我的朋友BrandanN21建议我通过Apple 开发者门户网站安装Xcode 15.4 版本,这样就可以同时安装多个 Xcode 版本。要同时安装多个 Xcode 版本,请按照以下步骤操作:

  • 从门户网站下载 .xip 文件后,解压缩该文件,并将 Xcode.app 文件重命名为 Xcode_15.4.app。
  • 将重命名后的 Xcode 应用移动到“应用程序”文件夹
  • 请确保您已安装此处所示的两个 Xcode 版本:
  • 打开终端并执行以下命令:/Applications/Xcode_15.4.app/Contents/MacOS/Xcode该命令将正确打开 Xcode 15.4。
  • 转到 Xcode 菜单,单击“设置”选项,然后转到“位置”选项卡,并确保选择正确的命令行工具版本 15.4,如下所示:
  • 关闭 Xcode 和终端
  • 再次打开终端并运行以下命令:xcode-select --print-path它应该显示 /Applications/Xcode_15.4.app/Contents/Developer,这确认您已选择正确的 Xcode 版本作为默认版本。
  • 现在选择正确的模拟器运行你的应用,就完成了。

注意:我没有安装 iOS 18 模拟器,因为我将等待 .NET MAUI macios 的官方支持。

其他解决方法和资源

如果您使用的是 Visual Studio for Mac 或 Rider,我建议您关注此问题讨论帖,以查找可能对您有效的其他解决方法。许多朋友都在帖子中分享了他们解决此兼容性问题的解决方案和所做的更改。

结论

保持积极主动和信息灵通,可以有效解决兼容性问题,确保开发流程顺畅。请记住禁用自动更新,与 macOS 社区保持联系,并充分利用社区的集体智慧。

微软预计将于今年11月正式发布对Xcode 16的支持。

我还要感谢所有在 GitHub issues 上发布解决方法和反馈的人,他们的帮助真的让我解决了这个问题。

请在社交媒体上关注我:

文章来源:https://dev.to/vhugogarcia/solving-net-maui-issues-on-macos-sequoia-with-visual-studio-code-and-xcode-16-3ljd