Xamarin iOS codesign failed with exit code 1 error after upgrading XCode to 13.2.1

Knot 6 Reputation points
2022-01-06T08:56:43.51+00:00

Xamarin iOS codesign failed with exit code 1 error after upgrading XCode to 13.2.1

Summary

After upgrading XCode to version 13.2 (and 13.2.1 shortly after) the build of our Xamarin.Forms application fails with the following error while trying to build the iOS application:

2>C:\Users\me\.nuget\packages\xamarin.ios.swiftruntimesupport\0.2.0\buildTransitive\Xamarin.iOS.SwiftRuntimeSupport.targets(19,9): error : Couldn't codesign bin/iPhoneSimulator/Debug/KnotApp.iOS.app/Frameworks/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphonesimulator/libswiftPhotos.dylib: codesign failed with exit code 1
2>C:\Users\me\.nuget\packages\xamarin.ios.swiftruntimesupport\0.2.0\buildTransitive\Xamarin.iOS.SwiftRuntimeSupport.targets(19,9): error MSB3073: La commande "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-stdlib-tool --copy --verbose --sign '-' --scan-executable 'bin/iPhoneSimulator/Debug/KnotApp.iOS.app/KnotApp.iOS' --scan-folder 'bin/iPhoneSimulator/Debug/KnotApp.iOS.app/Frameworks/' --scan-folder 'bin/iPhoneSimulator/Debug/KnotApp.iOS.app/PlugIns/' --platform 'iphonesimulator' --toolchain '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/' --destination 'bin/iPhoneSimulator/Debug/KnotApp.iOS.app/Frameworks/' --resource-destination 'bin/iPhoneSimulator/Debug/KnotApp.iOS.app/' --resource-library libswiftRemoteMirror.dylib --unsigned-destination 'obj/iPhoneSimulator/Debug/SwiftSupport' --strip-bitcode --strip-bitcode-tool '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip' --emit-dependency-info 'obj/iPhoneSimulator/Debug/SwiftStdLibToolInputDependencies.dep' --source-libraries '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphonesimulator'" s'est arrêtée avec le code 1.

After searching for quite some time and trying multiple things I'm asking here for any solutions you may have.

Details

  • Occurs on a real iPhone or on the iPhone simulator
  • The error occurs when trying to build from the windows computer connected to our mac or when building from our CI pipeline, which runs on the mac.
  • Building directly from Visual Studio for Mac works.
  • Provisionning profile and certificates are visible and valid in Visual Studio under Tools>Options>Xamarin>Apple Accounts>Details

Command used to build in our CI pipeline (gitlab-ci running in shell mode on the same Mac used for building the app from windows)

msbuild KnotApp.sln -v:n -t:Clean -p:Platform=iPhone -p:Configuration=Debug
msbuild KnotApp.sln -v:n -t:Build -p:Platform=iPhone -p:Configuration=Debug

Which return a nearly identical error:

EXEC : *** error : Couldn't codesign bin/iPhone/Debug/KnotApp.iOS.app/Frameworks/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos/libswiftPhotos.dylib: codesign failed with exit code 1 [/Users/knot/builds/QurC_k3s/0/mobility/mobility-application/KnotApp/KnotApp.iOS/KnotApp.iOS.csproj]
/Users/knot/.nuget/packages/xamarin.ios.swiftruntimesupport/0.2.0/buildTransitive/Xamarin.iOS.SwiftRuntimeSupport.targets(19,9): error MSB3073: The command "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-stdlib-tool --copy --verbose --sign 'CBEFD04F1D60F999180E7EA597FC2E6D256F5A44' --scan-executable 'bin/iPhone/Debug/KnotApp.iOS.app/KnotApp.iOS' --scan-folder 'bin/iPhone/Debug/KnotApp.iOS.app/Frameworks/' --scan-folder 'bin/iPhone/Debug/KnotApp.iOS.app/PlugIns/' --platform 'iphoneos' --toolchain '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/' --destination 'bin/iPhone/Debug/KnotApp.iOS.app/Frameworks/' --resource-destination 'bin/iPhone/Debug/KnotApp.iOS.app/' --resource-library libswiftRemoteMirror.dylib --unsigned-destination 'obj/iPhone/Debug/SwiftSupport' --strip-bitcode --strip-bitcode-tool '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip' --emit-dependency-info 'obj/iPhone/Debug/SwiftStdLibToolInputDependencies.dep' --source-libraries '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.2.sdk/../../../../../Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos'" exited with code 1. [/Users/knot/builds/QurC_k3s/0/mobility/mobility-application/KnotApp/KnotApp.iOS/KnotApp.iOS.csproj]

What was tried

  • Rebooting all devices
  • Generating new Apple developper certificate and provisionning profiles
  • Downgrading XCode (build works, but Apple reject the build as its not from the latest XCode version)
  • Uninstall and reinstall XCode and Visual Studio (on both the windows computer and the mac)
  • Locking and unlocking the keychain
  • Using preview version of Visual Studio and Visual Studio for Mac

Environment

Visual Studio

Microsoft Visual Studio Community 2022
Version 17.0.4
VisualStudio.17.Release/17.0.4+32014.148
Microsoft .NET Framework
Version 4.8.04084

Version installée : Community

Azure App Service Tools v3.0.0   17.0.795.42246
Azure App Service Tools v3.0.0

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Gestionnaire de package NuGet   6.0.1
Gestionnaire de package NuGet dans Visual Studio. Pour plus d'informations sur NuGet, visitez https://docs.nuget.org/

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Mono Debugging for Visual Studio   17.0.11 (54f19d2)
Support for debugging Mono processes with Visual Studio.

Outils C#   4.0.1-1.21568.1+6ab6601178d9fba8c680b56934cd1742e0816bff
Composants C# utilisés dans l'IDE. Selon votre type de projet et vos paramètres, une version différente du compilateur peut être utilisée.

Outils Visual Basic   4.0.1-1.21568.1+6ab6601178d9fba8c680b56934cd1742e0816bff
Composants Visual Basic utilisés dans l'IDE. Selon votre type de projet et vos paramètres, une version différente du compilateur peut être utilisée.

Package hôte de l'adaptateur de débogage de Visual Studio Code   1.0
Couche d'interopérabilité pour l'hébergement d'adaptateurs de débogage Visual Studio Code dans Visual Studio

ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

ResXManager   ResXManager
Manage localization of all ResX-Based resources in one place. Shows all resources of a solution and let's you edit the strings and their localizations in a well-arranged data grid.

Visual F# Tools   17.0.0-beta.21522.2+6d626ff0752a77d339f609b4d361787dc9ca93a5
Microsoft Visual F# Tools

Visual Studio IntelliCode   2.2
Développement assisté par intelligence artificielle pour Visual Studio.

VisualStudio.DeviceLog   1.0
Informations sur mon paquet

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

Xamarin   17.0.0.343 (d17-0@fb07a17)
Extension Visual Studio permettant de développer pour Xamarin.iOS et Xamarin.Android.

Xamarin Designer   17.0.0.183 (remotes/origin/d17-0@a351f0f1f)
Extension Visual Studio pour activer les outils Xamarin Designer dans Visual Studio.

Xamarin Templates   17.0.17 (9e779b0)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK   12.1.99.75 (main/94c2a3d)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: c633fe9
    Java.Interop: xamarin/java.interop/main@79744f61
    ProGuard: Guardsquare/proguard/v7.0.1@912d149
    SQLite: xamarin/sqlite/3.36.0@a575761
    Xamarin.Android Tools: xamarin/xamarin-android-tools/main@0a22957


Xamarin.iOS and Xamarin.Mac SDK   15.4.0.0 (8fc41ae82)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

Visual Studio for Mac

=== Visual Studio Community 2019 for Mac ===
Version 8.10.16 (build 2)
Installation UUID: fae800e5-f5a5-4c96-a196-de364e3e2e6d
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638)
    Package version: 612000162
=== Mono Framework MDK ===
Runtime:
    Mono 6.12.0.162 (2020-02/2ca650f1f62) (64-bit)
    Package version: 612000162
=== Roslyn (Language Service) ===
3.10.0-4.21269.26+029847714208ebe49668667c60ea5b0a294e0fcb
=== NuGet ===
Version: 5.9.0.7134
=== .NET SDK (x64) ===
SDK: /usr/local/share/dotnet/sdk/6.0.101/Sdks
SDK Versions:
    6.0.101
    5.0.404
    5.0.403
    5.0.402
    5.0.401
    5.0.400
    5.0.302
    5.0.301
    3.1.416
    3.1.415
    3.1.414
    3.1.413
    3.1.412
    3.1.411
    3.1.409
MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks
=== .NET Core Runtime ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    6.0.1
    5.0.13
    5.0.12
    5.0.11
    5.0.10
    5.0.9
    5.0.8
    5.0.7
    3.1.22
    3.1.21
    3.1.20
    3.1.19
    3.1.18
    3.1.17
    3.1.15
    2.1.21
=== .NET Core 3.1 SDK ===
SDK: 3.1.416
=== .NET 5.0 SDK ===
SDK: 5.0.404
=== Xamarin.Profiler ===
Version: 1.7.0.0
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Apple Developer Tools ===
Xcode 13.2.1 (19586)
Build 13C100
=== Xamarin Designer ===
Version: 16.11.0.39
Hash: cd672761d
Branch: remotes/origin/d16-11
Build date: 2021-10-06 21:09:18 UTC
=== Xamarin.Android ===
Version: 12.0.0.3 (Visual Studio Community)
Commit: xamarin-android/d16-11/f0e3c2d
Android SDK: /Users/knot/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        None installed
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 31.0.3
SDK Build Tools Version: 30.0.3
Build Information:
Mono: c633fe9
Java.Interop: xamarin/java.interop/d16-11@476bb5b
ProGuard: Guardsquare/proguard/v7.0.1@912d149
SQLite: xamarin/sqlite/3.35.4@85460d3
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-11@87af37b
=== Eclipse Temurin JDK ===
Java SDK: Not Found
=== Android SDK Manager ===
Version: 16.10.0.13
Hash: 1b81df5
Branch: remotes/origin/d16-10
Build date: 2021-11-12 01:17:32 UTC
=== Android Device Manager ===
Version: 16.10.0.15
Hash: 89dcc0b
Branch: remotes/origin/d16-10
Build date: 2021-11-12 01:17:52 UTC
=== Xamarin.Mac ===
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
=== Xamarin.iOS ===
Version: 15.4.0.0 (Visual Studio Community)
Hash: 8fc41ae82
Branch: xcode13.2
Build date: 2021-12-09 01:07:56-0500
=== Build Information ===
Release ID: 810160002
Git revision: 6dbc7886fa608147f685a7df3912249400c84716
Build date: 2021-12-14 15:54:37-05
Build branch: release-8.10
=== Operating System ===
Mac OS X 12.1.0
Darwin 21.2.0 Darwin Kernel Version 21.2.0
    Sun Nov 28 20:28:54 PST 2021
    root:xnu-8019.61.5~1/RELEASE_X86_64 x86_64
Developer technologies .NET Xamarin
{count} vote

1 answer

Sort by: Most helpful
  1. DavidSpecter 81 Reputation points
    2022-03-18T14:29:10.753+00:00

    Hi,
    I resolved in this way.
    open Xamarin.iOS.SwiftRuntimeSupport.targets in ....nuget\packages\xamarin.ios.swiftruntimesupport\0.2.0\buildTransitive
    Search this text and change 5.0 to 5.5

    <Message Text="Copying Swift Frameworks dependencies for $(_NativeExecutable) to the $(_AppBundlePath)Frameworks folder." />
     <Exec Condition="'$(_CodeSigningKey)' != ''" SessionId="$(BuildSessionId)" Command="$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)usr/bin/swift-stdlib-tool --copy --verbose --sign '$(_CodeSigningKey)' --scan-executable '$(_NativeExecutable)' --scan-folder '$(_AppBundlePath)Frameworks/' --scan-folder '$(_AppBundlePath)PlugIns/' --platform '$(_TargetPlatform)' --toolchain '$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)' --destination '$(_AppBundlePath)Frameworks/' $(_SRSRemoteMirror) --unsigned-destination '$(DeviceSpecificIntermediateOutputPath)SwiftSupport' --strip-bitcode --strip-bitcode-tool '$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)usr/bin/bitcode_strip' --emit-dependency-info '$(DeviceSpecificIntermediateOutputPath)SwiftStdLibToolInputDependencies.dep' --source-libraries '$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)usr/lib/swift-5.5/$(_TargetPlatform)'" />
     <Exec Condition="'$(_CodeSigningKey)' == ''" SessionId="$(BuildSessionId)" Command="$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)usr/bin/swift-stdlib-tool --copy --verbose                             --scan-executable '$(_NativeExecutable)' --scan-folder '$(_AppBundlePath)Frameworks/' --scan-folder '$(_AppBundlePath)PlugIns/' --platform '$(_TargetPlatform)' --toolchain '$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)' --destination '$(_AppBundlePath)Frameworks/' $(_SRSRemoteMirror) --unsigned-destination '$(DeviceSpecificIntermediateOutputPath)SwiftSupport' --strip-bitcode --strip-bitcode-tool '$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)usr/bin/bitcode_strip' --emit-dependency-info '$(DeviceSpecificIntermediateOutputPath)SwiftStdLibToolInputDependencies.dep' --source-libraries '$(_SdkRoot)$(_XcodeToolChainRelativeToSdkRoot)usr/lib/swift-5.5/$(_TargetPlatform)'" />
     </Target>
    

    Davide.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.