MAUI iOS端调用SecureStorage报MissingEntitlement错误如何解决?
解决MAUI iOS模拟器SecureStorage报MissingEntitlement错误
核心问题
你错误地将钥匙串权限配置在了Info.plist中,而iOS平台的钥匙串访问组权限需要配置在Entitlements.plist文件内,这是导致报错的直接原因。
具体修复步骤
- 打开MAUI项目的
Platforms/iOS目录,若没有Entitlements.plist文件,右键iOS平台目录,添加新的"Entitlements"类型文件。
- 打开MAUI项目的
- 在
Entitlements.plist中添加钥匙串访问组配置:
<key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)com.[your-app-id]</string> </array>- 在
- 绑定权限文件到项目配置:
右键MAUI项目 → 属性 → 切换到iOS平台 → 在"签名"区域勾选"自定义权利",选择刚才编辑的Entitlements.plist文件。
- 绑定权限文件到项目配置:
- 清理并重建项目:
执行dotnet clean命令清理缓存,再执行dotnet build -t:Run -f net7.0-ios(替换为你的.NET版本),或在Visual Studio中清理解决方案后重新生成运行。
- 清理并重建项目:
额外注意事项
$(AppIdentifierPrefix)会自动替换为你的开发者团队ID,模拟器运行时无需手动修改;若手动填写,直接使用开发者后台的团队ID即可。- 后续真机测试时,需确保开发者后台对应的App ID已启用钥匙串访问权限,模拟器测试可忽略此步骤。
内容的提问来源于stack exchange,提问作者Hoàng Huy Nguyễn Song
相关产品推荐
相关产品推荐

