ITMS-90334: Invalid Code Signature Identifier when building via Xcode Cloud

712 Views Asked by At

I have started a small collection of helper code in a Swift Package for my own needs. If i include this package in my main project using Swift Package Manger and try to build it using Xcode Cloud, i get the following error:

ITMS-90334: Invalid Code Signature Identifier - The identifier 
'AppulizeStandardTools-55554944b34e30d285943c0fa8b9aecb5744a53e'
in your code signature for 'AppulizeStandardTools_BFA0AAD86B154A1_PackageProduct'
must match its Bundle Identifier 'AppulizeStandardTools'

I haven't set any identifiers or code signing manually with regards to the package and the Package.swift is very simple.

What am i doing wrong here?

1

There are 1 best solutions below

0
On

I lost half a day trying to figure this out, documentation is not plentiful on it atm.

It appears to be related to how XCode Cloud handles the signing for dynamically embedded frameworks... Not ideal if you are using a microcomponent architectural pattern.

Fix for this:

  1. Go into your main target (executable) -> Frameworks, Libraries and Embedded Content section -> Change your frameworks to: Embed & Sign => Do Not Embed Change Frameworks to Do Not Embed

  2. Go to Build Settings for each Framework and change the Mach-O Type from Dynamic to Static Build Settings Mach-O Type

There are some implications about how this would effect device memory, I found it to be pretty negligible in my case.