.NET8 MAUI iOS项目Entitlements.plist找不到报错求助
.NET 8 MAUI iOS SecureStorage 编译报错解决办法
核心解决:设置正确的Build Action
这是当前报错的关键原因之一,操作步骤:
- 在解决方案资源管理器中找到
Platforms/iOS/Entitlements.plist文件 - 右键点击文件 → 选择「属性」
- 在「高级」选项卡中,将**生成操作(Build Action)**改为
BundleResource,同时把「复制到输出目录」设为「不复制」
其他排查与配置要点
- 检查项目文件配置:打开你的MAUI项目文件(.csproj),确认iOS相关的PropertyGroup里正确指定了权限文件路径,示例配置:
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'"> <CodesignEntitlements>Platforms/iOS/Entitlements.plist</CodesignEntitlements> </PropertyGroup>
- 确认权限文件内容合规:
Entitlements.plist必须包含keychain访问组权限(SecureStorage依赖该权限),示例内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> </array> </dict> </plist>
- 清理重建项目:右键项目选择「清理」,再执行「生成」,避免缓存导致的路径识别异常
- 校验文件路径:确保
Entitlements.plist确实位于Platforms/iOS目录下,注意iOS文件系统区分大小写,路径拼写要和配置完全一致
内容的提问来源于stack exchange,提问作者Enrico
相关产品推荐
相关产品推荐

