.NET MAUI iOS发布失败:ASN1数据损坏问题求助
解决.NET MAUI iOS发布时的ASN1 corrupted data签名错误
问题概述
在Mac上使用Visual Studio 2022 for Mac 17.6发布.NET MAUI iOS应用时,触发签名流程相关错误:
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/16.4.7067/tools/msbuild/iOS/Xamarin.Shared.targets(1714,3): error : ASN1 corrupted data
已尝试以下操作但问题未解决:
- 删除项目bin/obj目录后重新构建
- 通过命令行手动设置签名属性
- 清空钥匙串所有证书,重新导入新的开发/发布证书及配置文件
- 新建.NET MAUI项目仍出现该问题,且项目的Bundle签名选项卡为空
补充信息:应用可正常在调试模式运行,Android发布无异常,当前已安装最新版Xcode。
可能的解决方案
1. 确认Xcode命令行工具关联
打开Xcode,进入Xcode > 设置 > 位置,确保命令行工具已选中当前安装的最新Xcode版本。完成后重启Visual Studio for Mac,再尝试发布。
2. 修复证书钥匙串权限
ASN1错误常和证书权限异常相关:
- 打开钥匙串访问,找到导入的iOS开发/发布证书
- 右键证书选择
显示简介,切换到访问控制标签 - 选择
允许所有应用程序访问此项目,保存设置后重启电脑,再尝试签名发布
3. 降级Microsoft.iOS.Sdk版本
当前使用的16.4.7067版本可能存在兼容性问题,可在项目.csproj文件中指定较低版本SDK:
<PropertyGroup> <TargetFrameworks>net7.0-ios;net7.0-android</TargetFrameworks> <!-- 示例指定16.2.2029版本,可根据需求调整 --> <MicrosoftiOSSdkVersion>16.2.2029</MicrosoftiOSSdkVersion> </PropertyGroup>
保存后清理项目,重新构建发布。
4. 重置VS for Mac的iOS缓存
删除以下目录的缓存文件,重启Visual Studio for Mac:
~/Library/Caches/Xamarin~/Library/Caches/VisualStudio/17.0(对应VS2022 for Mac 17.x版本)~/Library/Developer/Xamarin
5. 验证配置文件与证书匹配性
登录Apple Developer官网,重新下载对应App ID的配置文件,确保配置文件绑定的证书UUID与钥匙串中安装的证书UUID完全一致。下载后双击导入,回到VS中重新选择该配置文件。
内容的提问来源于stack exchange,提问作者TaiT's
相关产品推荐
相关产品推荐

