Skip to content

Mac release build fails with code signing issue #1507

@kjhollen

Description

@kjhollen

Most appropriate sub-area of Processing 4?

Build process

Processing version

4.5.3

Operating system

macOS

Bug description

Release level builds fail on macOS at the notarization step (see last release build run output) Testing locally, when you run:

./gradlew app:packageDistributionForCurrentOS

And then examine Processing.app with the codesign tool:

codesign --verify --deep --strict --verbose=2 <path-to-processing>

The output says "a sealed resource is missing or invalid" and that the resources for pde.icns, pdez.icns, and pdex.icns have been added since the app was signed.

Steps to reproduce this

  1. Build on mac with ./gradlew app:packageDistributionForCurrentOS

  2. Run codesign --verify --deep --strict --verbose=2 <path-to-processing> on the .app created in the build process

snippet

// Paste your code below :)

void setup() {

}

void draw() {

}

Additional context

With thanks to Claude and StackOverflow, I've learned that Jetpack Compose's default macOS app signing is not compatible with fileAssociation() so we either need to:

  1. add a step to the process that re-signs the macOS app after the files have been associated, but before they are sent to the notary OR
  2. separate how Windows, Linux, and Mac handle file associations so we can keep using the default Jetpack Compose app signing

I have a tentative solution that looks like option 2. I'll share a draft—I only have access to a Mac for development and can't test Windows & Linux on my own.

Would you like to work on the issue?

Yes, I’d like to help with this

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions