升级测试设备至iOS 18后MAUI构建报错:加载Entitlements.plist模板失败
解决iOS 18 + 新版Xcode下MAUI构建加载Entitlements.plist模板失败的问题
检查Xcode实际SDK路径
更新支持iOS18的Xcode后,系统里的iPhoneOS SDK版本已经更新为18.x,但MAUI项目可能还在引用旧的17.5路径。打开终端执行:ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
你会看到当前可用的最新SDK目录(比如iPhoneOS18.0.sdk)。更新项目SDK版本配置
调整项目里的SDK版本配置,让它匹配当前Xcode的SDK:- 打开项目的
.csproj文件,找到<TargetFramework>节点,修改为对应最新iOS版本的目标框架,比如<TargetFramework>net8.0-ios18.0</TargetFramework>(根据你使用的.NET版本调整) - 检查项目中是否有硬编码
iPhoneOS17.5.sdk的配置项,把这些旧路径替换为最新SDK路径,或者直接移除硬编码,让系统自动识别Xcode默认SDK。
- 打开项目的
清理项目构建缓存
旧缓存可能保留了错误的路径引用,执行以下操作:- 在Visual Studio里先清理解决方案,再右键项目选择
Clean和Rebuild - 终端进入项目目录,执行
dotnet clean,之后再执行dotnet build - 删除项目目录下的
bin和obj文件夹,重新构建项目
- 在Visual Studio里先清理解决方案,再右键项目选择
确认Xcode命令行工具配置
确保命令行工具指向最新Xcode:
终端执行xcode-select -p,如果输出不是/Applications/Xcode.app/Contents/Developer,就执行sudo xcode-select -s /Applications/Xcode.app/Contents/Developer切换。
另外打开Xcode的Preferences->Locations,确认Command Line Tools选的是当前安装的Xcode版本。检查Entitlements.plist文件
正常情况下Entitlements.plist不需要指定SDK路径,MAUI会自动适配当前环境。如果你的文件里有手动添加的SDK路径引用,直接删除相关条目即可。
内容的提问来源于stack exchange,提问作者Auri Rahimzadeh
相关产品推荐
相关产品推荐

