Skip to content

Fix Illustrator plugin loading on macOS#3

Merged
ByteBard97 merged 9 commits into
ByteBard97:masterfrom
guillem-gelabert:fix/issue-1-build-and-plugin-load
May 11, 2026
Merged

Fix Illustrator plugin loading on macOS#3
ByteBard97 merged 9 commits into
ByteBard97:masterfrom
guillem-gelabert:fix/issue-1-build-and-plugin-load

Conversation

@guillem-gelabert
Copy link
Copy Markdown
Contributor

@guillem-gelabert guillem-gelabert commented May 5, 2026

Summary

Fix the macOS plugin loading path so NUXPPlugin.aip loads in Illustrator 2025 and 2026, using the smallest patch we could verify.

What remains in the PR:

  • set the macOS deployment target early so Xcode does not default the bundle to the host SDK version
  • keep the working PiPL generation path, including the build-tree fallback used in this repo state
  • keep the working Rez .rsrc generation path
  • change bundle package type to BNDL
  • bind the local server to 127.0.0.1 instead of localhost
  • make AINotifierSuite acquisition non-fatal during startup

What was intentionally removed from the broader fix attempt:

  • LSMinimumSystemVersion
  • BNDL???? PkgInfo
  • plist removal of CFBundleSignature and LSRequiresCarbon
  • Plugin.cpp cleanup/refactor changes unrelated to the load fix

Testing

Automated:

  • cd codegen && npm test
  • cd demo && npm run type-check
  • rebuilt the plugin with the Xcode generator

Manual:

  • verified plugin load in Illustrator 2026
  • verified plugin load in Illustrator 2025
  • verified GET /health succeeds
  • previously verified live document/runtime endpoints with the same loading fix path

Breaking changes

None.

guillem-gelabert and others added 4 commits May 5, 2026 19:18
Fixes issue ByteBard97#1 — build fails without additional headers, and plugin
fails to load in Illustrator 2026 with "Plugin issues detected".

**Build fixes:**
- setup-sdk.sh: guard trash call on fresh checkout (plugin/sdk/ may
  not exist yet, causing unconditional trash to error and abort)
- IllustratorSDK.h: add 10 missing SDK headers needed by HandleManager
  and SuitePointers (AIContext, AIUser, AIUndo, AIMdMemory, AIMenu,
  AIMask, AITool, AIArtboard, AIDictionary, AIEntry)

**Plugin load fixes:**
- Info.plist / Info.plist.in: change CFBundlePackageType from ARPI to
  BNDL; remove CFBundleSignature and LSRequiresCarbon — all working
  Illustrator plugins use BNDL, and LSRequiresCarbon is a 32-bit
  Carbon-era key that modern macOS ignores or rejects
- CMakeLists.txt: update PkgInfo content from ARPIART5 to BNDL????
  to match the new bundle type
- Plugin.cpp: make AINotifier suite acquisition non-fatal — a failure
  caused the plugin to return an error and trigger an infinite reload
  loop in Illustrator; plugin now continues without notifications if
  the suite is unavailable; all AddNotifier calls are guarded for null
- HttpServer.cpp: bind to 127.0.0.1 instead of localhost — on modern
  macOS localhost can resolve to ::1 (IPv6 only), causing connections
  to 127.0.0.1:8080 to fail even when the server is running

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@guillem-gelabert guillem-gelabert changed the title fix: resolve build failures and plugin load rejection on macOS (issue #1) Fix Illustrator plugin loading on macOS May 5, 2026
@ByteBard97 ByteBard97 merged commit 9872944 into ByteBard97:master May 11, 2026
1 of 2 checks passed
@ByteBard97
Copy link
Copy Markdown
Owner

ByteBard97 commented May 11, 2026

have you used NUXP to build anything? thanks for the fixes!

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