fix(m9): Debug entitlements disable library validation for test host (#119) #121

Merged
gronod merged 1 commits from feat/119-debug-entitlements into milestone/m9-monterey 2026-09-12 09:42:17 +01:00
Owner

Follow-up to #119 / PR #120. Run 32017 showed the ad-hoc signing step works (frameworks now carry a cdhash), but the test host still crashed: Xcode 14.2 keeps -o runtime (hardened runtime) when signing ad-hoc, so library validation is active and rejects the framework for having no Team ID.

The DISABLE_LIBRARY_VALIDATION build setting added in #120 never injected com.apple.security.cs.disable-library-validation into the generated .xcent on Xcode 14.2 — the processed entitlements only contained device.usb + get-task-allow.

Fix: dedicated Resources/ICCery.Debug.entitlements (base entitlements + com.apple.security.cs.disable-library-validation), wired via CODE_SIGN_ENTITLEMENTS in the Debug config only; file excluded from bundle resources. Release config still uses ICCery.entitlements with full library validation.

Verified locally: Debug app signature now contains the entitlement (codesign -d --entitlements shows disable-library-validation); build-for-testing + test-without-building runs all 339 ICCeryCoreTests green after signing the package frameworks.

Follow-up to #119 / PR #120. Run 32017 showed the ad-hoc signing step works (frameworks now carry a cdhash), but the test host still crashed: Xcode 14.2 keeps `-o runtime` (hardened runtime) when signing ad-hoc, so library validation is active and rejects the framework for having `no Team ID`. The `DISABLE_LIBRARY_VALIDATION` build setting added in #120 never injected `com.apple.security.cs.disable-library-validation` into the generated `.xcent` on Xcode 14.2 — the processed entitlements only contained `device.usb` + `get-task-allow`. Fix: dedicated `Resources/ICCery.Debug.entitlements` (base entitlements + `com.apple.security.cs.disable-library-validation`), wired via `CODE_SIGN_ENTITLEMENTS` in the Debug config only; file excluded from bundle resources. Release config still uses `ICCery.entitlements` with full library validation. Verified locally: Debug app signature now contains the entitlement (`codesign -d --entitlements` shows `disable-library-validation`); `build-for-testing` + `test-without-building` runs all 339 ICCeryCoreTests green after signing the package frameworks.
gronod added the
Priority
Critical
1
Project/ICCery-v2Bug/Architecture
labels 2026-09-12 09:41:23 +01:00
gronod added 1 commit 2026-09-12 09:41:24 +01:00
gronod merged commit a0fcede454 into milestone/m9-monterey 2026-09-12 09:42:17 +01:00
gronod deleted branch feat/119-debug-entitlements 2026-09-12 09:42:18 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#121