Hi everyone,
We're trying to prepare a DriverKit App for a client test, and we've run into an unavoidable signing conflict that seems to be caused by the Xcode Archive process itself.
Background & Environment:
- Environment: macOS 15.6.1, Xcode 16.4
- Our project consists of a main App Target and a DEXT Target.
- Both the
DebugandReleaseconfigurations for both targets are set to Xcode's default:Automatically manage signing. - Our developer account holds a valid, active
Developer ID Application (With Kext)certificate, which we use for signing our legacy KEXT.
The Action That Triggers Failure:
From this clean state, we execute Product -> Archive.
The Archive process fails during the signing validation phase and presents the following three errors, completely halting the process:
There is a problem with the request entity - You already have a current Developer ID Application Managed (With Kext) certificate...No profiles for 'com.company.Acxxx.driver' were found...No profiles for 'com.company.Acxxx.app' were found...
This error seems to indicate that the Xcode Archive process:
- Ignores the project's
Releaseconfiguration (even the default 'Auto' setting). - Attempts to automatically create a new, standard
Developer IDcertificate for us. - This action conflicts with the existing
(With Kext)certificate in our account, causing the entireArchiveprocess to fail.
The "Failed Experiment" to Resolve This:
To work around this automation conflict, we tried the solution: configuring a fully manual signing process for the Release configuration to explicitly tell Xcode to use our existing KEXT certificate.
- Our Steps: We disabled automatic signing for both the App and DEXT targets for the
Releaseconfiguration and manually assigned theDeveloper IDProvisioning Profiles created for ourDeveloper ID (With Kext)certificate. - The New Problem: After doing this, the
Signing Certificatefield for the DEXT Target'sSigning & Capabilitiesinterface now showsNone, accompanied by the misleading warning about needing aDriverKit development profile. - The Outcome: This
Noneissue now prevents us from even starting theArchiveprocess, as the project fails to build due to the incorrect signing configuration. We've tried every debugging step — including rebuilding profiles, validating the keychain, and clearing caches — but nothing resolves thisNoneissue.
Our Dilemma:
- State A (Fully Automatic Signing): The
Archiveprocess fails due to the KEXT certificate conflict. - State B (Manual Release Signing): The project fails to build due to the
Signing Certificate: Noneissue, preventing us from initiating anArchive.
For a development team holding a KEXT Developer ID certificate, how should an Xcode project be configured when migrating to DriverKit, so that the Archive process:
- Does not trigger the flawed automation logic that attempts to create a new certificate?
- And, does not fall into the
Signing Certificate: Noneconfiguration trap?
Related Forum Threads We've Studied:
- https://developer.apple.com/forums/thread/781932
- https://developer.apple.com/forums/thread/751490
- https://developer.apple.com/forums/thread/767152
- https://developer.apple.com/forums/thread/721563
Best Reagrds,
Charles