.NET MAUI iOS真机调试遇code object is not signed at all错误求助
.NET MAUI iOS调试签名错误:
code object is not signed at all 问题背景
使用远程Mac(Sonoma 14.5)连接开发环境,搭配Visual Studio 2022 17.9.7、Xcode 15.2、iOS 17.5设备调试.NET MAUI应用时,构建始终失败,错误提示为code object is not signed at all,日志指向System.Runtime.Intrinsics.dll未完成签名,导致codesign工具执行失败。
已尝试的排查操作:
- 删除资源文件夹下所有子目录
- 切换自动/手动签名配置,甚至通过API登录苹果开发者账号,均无法解决
- 移除所有推送通知相关代码,简化证书与配置文件后问题依旧
完整错误日志
Build started at 1:54 AM... 1>------ Build started: Project: MyAPP, Configuration: Debug Any CPU ------ 1>Executing SayHello Task to establish a connection to a Remote Server. 1> Properties: 1> SessionId=***, 1> Addresss=192.168..., 1> SshPort=22, 1> TcpPort=..., 1> User=***, 1> AppName=MyAPP, 1> VisualStudioProcessId=14340, 1> ContinueOnDisconnected=False 1>Detected signing identity: 1> Code Signing Key: "Apple Development: ... 1> Provisioning Profile: "VS: com.i... 1> Bundle Id: com.i... 1> App Id: ***.com.i.. 1>Skipping analyzers to speed up the build. You can execute 'Build' or 'Rebuild' command to run analyzers. 1>E:\... ... ... ... 1>--skip-unresolved true --notrimwarn --custom-data "LinkerOptionsFile=obj/Debug/net8.0-ios/ios-arm64/custom-linker-options.txt" --custom-data DisableMarkingOfCopyAssemblies=true --verbose -b --disable-opt unusedtypechecks --enable-serialization-discovery 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(364,3): warning MT4189: The class 'PassKit.PKDisbursementAuthorizationController' will not be registered it has been removed from the iOS SDK. 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(364,3): warning MT4189: The class 'PassKit.PKDisbursementAuthorizationControllerDelegate' will not be registered it has been removed from the iOS SDK. 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(364,3): warning MT4178: The class 'NewsstandKit.NKAssetDownload' will not be registered because the NewsstandKit framework has been removed from the iOS SDK. 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(364,3): warning MT4178: The class 'NewsstandKit.NKLibrary' will not be registered because the NewsstandKit framework has been removed from the iOS SDK. 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(364,3): warning MT4178: The class 'NewsstandKit.NKIssue' will not be registered because the NewsstandKit framework has been removed from the iOS SDK. 1>/usr/bin/mdimport bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/ 1>Tool /usr/bin/codesign execution finished (exit code = 1). 1>/Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app: code object is not signed at all 1>In subcomponent: /Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app/System.Runtime.Intrinsics.dll 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : /usr/bin/codesign exited with code 1: 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : /Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app: code object is not signed at all 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : In subcomponent: /Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app/System.Runtime.Intrinsics.dll 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : Failed to codesign '/Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app': /Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app: code object is not signed at all 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : In subcomponent: /Users/user/Library/Caches/Xamarin/mtbs/builds/MyAPP/.../bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone13.1-17.5.1/MyAPP.app/System.Runtime.Intrinsics.dll 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : 1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\17.2.8053\tools\msbuild\iOS\Xamarin.Shared.targets(2257,3): error : 1>Done building project "MyAPP.csproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== ========== Build completed at 1:55 AM and took 41.399 seconds ========== ========== Deploy: 0 succeeded, 0 failed, 0 skipped ========== ========== Deploy completed at 1:55 AM and took 41.399 seconds ==========
解决步骤
1. 彻底清理构建缓存
- 在Visual Studio中执行Clean Solution,然后手动删除本地项目的
bin、obj文件夹 - 远程Mac上删除
/Users/[你的用户名]/Library/Caches/Xamarin/mtbs/builds/[你的项目名]目录 - 重启Visual Studio和远程Mac,再执行Rebuild Solution
2. 升级.NET MAUI iOS SDK
当前使用的Microsoft.iOS.Sdk 17.2.8053与Xcode 15.2存在签名兼容性问题,建议升级到匹配版本:
dotnet workload update ios
3. 修正签名配置
- 手动签名时,确认Provisioning Profile已包含当前测试设备的UDID
- 在iOS构建设置中,明确指定
Code Signing Identity为对应的Apple Development证书,避免自动选择冲突 - 检查项目csproj文件,移除重复的签名相关配置节点(如
<CodeSigningKey>、<ProvisioningProfile>)
4. 临时跳过目标DLL签名(仅调试用)
在项目csproj中添加以下配置,跳过System.Runtime.Intrinsics.dll的签名检查:
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net8.0-ios|AnyCPU'"> <CodesignSkip>System.Runtime.Intrinsics.dll</CodesignSkip> </PropertyGroup>
注意:发布版本必须移除该配置,确保完整签名。
5. 验证远程Mac签名权限
在远程Mac终端执行以下命令,检查签名身份有效性:
security find-identity -v -p codesigning codesign -dv --verbose=4 /path/to/your/app/MyAPP.app/System.Runtime.Intrinsics.dll
若权限异常,重启钥匙串访问并重新导入开发者证书。
内容的提问来源于stack exchange,提问作者Farshad Nabizadeh
相关产品推荐
相关产品推荐

