Skip to content

Fix macOS release signing for System Integrity Protection#279

Open
zxhwfe wants to merge 1 commit into
Pacalini:masterfrom
zxhwfe:master
Open

Fix macOS release signing for System Integrity Protection#279
zxhwfe wants to merge 1 commit into
Pacalini:masterfrom
zxhwfe:master

Conversation

@zxhwfe

@zxhwfe zxhwfe commented Jul 11, 2026

Copy link
Copy Markdown

No description provided.

Copilot AI review requested due to automatic review settings July 11, 2026 07:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to address macOS release code-signing constraints (notably around SIP/hardened runtime expectations) by adding a release signing script, adjusting release entitlements, and updating CI packaging. It also includes a broad Flutter dependency/tooling refresh that updates generated plugin registrants across desktop platforms.

Changes:

  • Add a macOS release codesign script and invoke it in the GitHub Actions macOS build, zipping the .app for artifact upload.
  • Update macOS Release entitlements to include hardened-runtime-related code-signing entitlements.
  • Refresh lockfiles and generated desktop plugin registrants (notably screen_retriever platform split and additional FFI plugin entries).

Reviewed changes

Copilot reviewed 8 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/main.yml Runs macOS release build, codesigns, zips the .app, and uploads as an artifact.
.gitignore Ignores .tooling/ and normalizes .vscode/ ignore entry.
linux/flutter/generated_plugin_registrant.cc Updates Linux plugin registration (screen_retriever platform package; removes sqlite3_flutter_libs registration).
linux/flutter/generated_plugins.cmake Updates Linux plugin lists (screen_retriever platform package; adds jni to FFI list).
macos/Flutter/GeneratedPluginRegistrant.swift Updates macOS plugin registration (screen_retriever_macos; removes sqlite3_flutter_libs registration).
macos/Podfile.lock Updates CocoaPods lockfile to reflect updated plugin set/versions.
macos/Runner/Release.entitlements Adds hardened-runtime-related entitlements and cleans up duplicate entries.
macos/scripts/codesign_release.sh Introduces a release codesigning script for the built .app.
pubspec.lock Updates dependency lockfile and SDK minimums (Dart/Flutter).
windows/flutter/generated_plugin_registrant.cc Updates Windows plugin registration (screen_retriever platform package; removes sqlite3_flutter_libs registration).
windows/flutter/generated_plugins.cmake Updates Windows plugin lists (screen_retriever platform package; adds jni to FFI list; removes sqlite3_flutter_libs).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +17 to +22
sign_bundle() {
item="$1"
if [ -e "$item" ] && [ ! -L "$item" ]; then
codesign --force --options runtime --timestamp=none --sign - "$item"
fi
}
Comment on lines +32 to +38
codesign \
--force \
--options runtime \
--timestamp=none \
--entitlements "$ENTITLEMENTS_PATH" \
--sign - \
"$APP_PATH"
Comment on lines +13 to +18
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
@zxhwfe

zxhwfe commented Jul 11, 2026 via email

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants