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

.NET MAUI iOS构建报错:GoogleAppMeasurement 8.9.1无匹配框架

.NET MAUI iOS构建错误:GoogleAppMeasurement.xcframework找不到匹配框架(ARMv7模拟器架构)

Xamarin.Shared.targets(137, 3): 在'/Users/bryce/Library/Caches/XamarinBuildDownload/GAppM-8.9.1/GoogleAppMeasurement-8.9.1/Frameworks/GoogleAppMeasurement.xcframework'内未找到匹配框架。支持平台:'ios',支持平台变体:'simulator',支持架构:'ARMv7'。

错误原因

  1. 架构淘汰与不匹配:ARMv7是老旧的32位移动架构,iOS 11之后的模拟器已不再支持该架构。当前Apple Silicon模拟器使用ARM64架构,Intel模拟器使用x86_64架构,错误说明构建系统在请求已被淘汰的ARMv7模拟器架构,而目标xcframework不包含该架构的二进制。
  2. MAUI与Xamarin.Forms的构建差异:MAUI基于.NET 7的新构建系统,对xcframework的架构匹配校验更严格;Xamarin.Forms的构建逻辑相对宽松,会自动忽略不兼容的架构请求,因此不会触发该错误。
  3. NuGet包版本问题:你使用的GoogleAppMeasurement 8.9.1版本的xcframework可能未包含ARM64模拟器架构的二进制,或者包本身的架构配置存在问题。

解决方法

1. 升级Google相关NuGet包

找到项目中关联的Google Analytics/Firebase类NuGet包(如Xamarin.Firebase.iOS.Analytics),升级至最新稳定版。新版本的包会适配当前iOS模拟器的主流架构(ARM64/x86_64),移除对ARMv7的无效依赖。

2. 强制指定iOS构建架构

在项目的.csproj文件中添加以下配置,限制仅构建兼容的架构,排除ARMv7:

<PropertyGroup Condition="$(TargetFramework.Contains('-ios'))">
  <RuntimeIdentifiers>ios-arm64;ios-x64</RuntimeIdentifiers>
  <MtouchArch>ARM64;x86_64</MtouchArch>
</PropertyGroup>

3. 彻底清理并重新恢复依赖

  1. 删除以下目录中的Google相关缓存文件:
    • /Users/bryce/Library/Caches/XamarinBuildDownload/GAppM-8.9.1
    • ~/.nuget/packages下所有Google开头的包目录
  2. 在终端进入项目根目录,执行命令:
    dotnet clean
    dotnet restore
    

4. 检查模拟器目标配置

确保你选择的模拟器为当前主流型号(如iPhone 14/15 Simulator),这类模拟器默认使用ARM64(Apple Silicon)或x86_64(Intel)架构,避免残留的旧架构配置触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:17:23