diff --git a/README.md b/README.md index f885eaa..7f98b06 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,37 @@ One-click installers — no Node.js or terminal required. | macOS Intel (x64) | [Open Higgsfield AI-1.0.0.dmg](https://github.com/Anil-matcha/Open-Higgsfield-AI/releases/download/v1.0.0/Open.Higgsfield.AI-1.0.0.dmg) | | Windows (x64 + ARM64) | [Open Higgsfield AI Setup 1.0.0.exe](https://github.com/Anil-matcha/Open-Higgsfield-AI/releases/download/v1.0.0/Open.Higgsfield.AI.Setup.1.0.0.exe) | -> **macOS:** If you see an "unidentified developer" warning, right-click the app → **Open**. -> **Windows:** If SmartScreen warns, click **More info → Run anyway**. - All releases: [github.com/Anil-matcha/Open-Higgsfield-AI/releases](https://github.com/Anil-matcha/Open-Higgsfield-AI/releases) +### macOS Installation — "damaged and can't be opened" fix + +Because the app is not code-signed, macOS Gatekeeper will block it with a **"damaged and can't be opened"** message. This is expected — the file is fine. Fix it with one Terminal command: + +**Step 1** — Open the DMG (it will mount even if the warning appears) + +**Step 2** — Open Terminal and run: +```bash +xattr -cr "/Volumes/Open Higgsfield AI/Open Higgsfield AI.app" +``` + +**Step 3** — Drag the app to `/Applications`, then open it normally. + +If you already copied it to Applications before running the command: +```bash +xattr -cr "/Applications/Open Higgsfield AI.app" +``` + +> Alternatively: after attempting to open, go to **System Settings → Privacy & Security** → scroll down → click **"Open Anyway"**. + +### Windows Installation — SmartScreen warning fix + +Windows SmartScreen may show a warning because the installer is not code-signed: + +1. Click **More info** on the SmartScreen dialog +2. Click **Run anyway** + +The app will install silently to `%LocalAppData%` with a Start Menu shortcut. + --- Open Higgsfield AI is an open-source AI image, video, cinema, and lip sync studio that brings Higgsfield-style creative workflows to everyone. Powered by [Muapi.ai](https://muapi.ai), it supports text-to-image, image-to-image, text-to-video, image-to-video, and audio-driven lip sync generation across models like Flux, Nano Banana, Midjourney, Kling, Sora, Veo, Seedream, Infinite Talk, LTX Lipsync, Wan 2.2, and more — all from a sleek, modern interface you can self-host and customize. diff --git a/afterPack.js b/afterPack.js new file mode 100644 index 0000000..869b8ce --- /dev/null +++ b/afterPack.js @@ -0,0 +1,11 @@ +import { execSync } from 'child_process'; +import path from 'path'; + +export default async function afterPack({ appOutDir, packager }) { + if (packager.platform.name !== 'mac') return; + + const appPath = path.join(appOutDir, `${packager.appInfo.productName}.app`); + console.log(` • ad-hoc signing path=${appPath}`); + execSync(`codesign --deep --force --sign - "${appPath}"`, { stdio: 'inherit' }); + console.log(` • ad-hoc signing complete`); +} diff --git a/package.json b/package.json index 791432f..e99c710 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "directories": { "output": "release" }, + "afterPack": "./afterPack.js", "files": [ "dist/**/*", "electron/**/*" @@ -29,6 +30,7 @@ "mac": { "category": "public.app-category.graphics-design", "icon": "public/banner.png", + "gatekeeperAssess": false, "target": [ { "target": "dmg",