You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple M1 Mac上.NET8 MAUI Blazor Hybrid iOS运行故障求助

.NET 8 MAUI Blazor Hybrid iOS 运行故障排查方案

环境信息

  • 设备:Apple M1 Mac
  • 系统:macOS Sonoma 14.6.1
  • iOS SDK:17.5
  • 项目:.NET 8 MAUI Blazor Hybrid
  • 运行命令:dotnet build -t:Run -f net8.0-ios
  • 对比:dotnet build -t:Run -f net8.0-MacCatalyst运行正常

1. RootViewController为空崩溃问题

这是MAUI iOS初始化阶段的典型问题,按以下步骤修复:

  • 检查Platforms/iOS/AppDelegate.cs的FinishedLaunching方法,确保窗口和根视图控制器正确初始化:
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    global::Xamarin.Forms.Forms.Init();
    LoadApplication(new App());

    Window = Window ?? new UIWindow(UIScreen.MainScreen.Bounds);
    Window.RootViewController = App.Current.MainPage.CreateViewController();
    Window.MakeKeyAndVisible();

    return base.FinishedLaunching(app, options);
}
  • 彻底清理项目:执行dotnet clean,手动删除项目根目录下的bin和obj文件夹
  • 重置iOS模拟器:打开模拟器后,选择Hardware > Erase All Content and Settings,重启模拟器后再重新构建运行

2. CFBundleVersion无效错误

注意CFBundleVersionString已被废弃,需使用正确的键值对修改Platforms/iOS/Info.plist:

<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>

修改后执行:

  • dotnet clean清理缓存
  • 检查obj/Debug/net8.0-ios/ios-arm64/目录下自动生成的Info.plist是否同步了修改,若未同步则手动替换或删除该目录后重建
  • 重新运行dotnet build -t:Run -f net8.0-ios

3. Socket连接IDE被拒绝错误

此问题属于调试器连接异常,可通过以下方式解决:

  • 开启Mac远程登录:进入系统设置 > 通用 > 共享,勾选远程登录选项
  • 运行项目时指定调试地址:dotnet build -t:Run -f net8.0-ios /p:DebuggerAddress=127.0.0.1
  • 检查防火墙设置,确保dotnet进程和iOS模拟器的网络连接未被拦截

内容的提问来源于stack exchange,提问作者ShamilS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 15:31:11