Skip to content

Commit dd9e757

Browse files
committed
Let the hardened-runtime build load Sparkle
The Release build is ad-hoc signed with the hardened runtime on, while Sparkle.framework ships signed by the Sparkle project. Library validation then refused the framework for having a different team, and the app aborted at launch with a missing-library error. Add the disable-library-validation entitlement so the embedded framework loads.
1 parent 095e432 commit dd9e757

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<!-- The app is ad-hoc signed (no Apple team), but Sparkle.framework ships
6+
signed by the Sparkle project. Under the hardened runtime, library
7+
validation refuses to load a framework with a different team, which
8+
crashes the app at launch. This lets it load the embedded Sparkle. -->
9+
<key>com.apple.security.cs.disable-library-validation</key>
10+
<true/>
11+
</dict>
12+
</plist>

project.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ targets:
4343
base:
4444
PRODUCT_BUNDLE_IDENTIFIER: it.ramin.PassQuickAccess
4545
INFOPLIST_FILE: Sources/PassQuickAccess/App/Info.plist
46+
CODE_SIGN_ENTITLEMENTS: Sources/PassQuickAccess/App/PassQuickAccess.entitlements
4647
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
4748
# The app launches a subprocess (pass-cli), which the App Sandbox
4849
# forbids, so it is unsandboxed.

0 commit comments

Comments
 (0)