sveinbjornt / Platypus

Create native Mac applications from command line scripts.
https://sveinbjorn.org/platypus
BSD 3-Clause "New" or "Revised" License
2.76k stars 167 forks source link

Apple Events no longer sending in app built with Platypus 5.3 #147

Closed nriley closed 4 years ago

nriley commented 4 years ago

I have a script that has worked well when built with Platypus 4.8. I'm now in the process of updating it to remove dependencies on a 32-bit app.

When I try to rebuild the script app with Platypus 5.3 on macOS 10.14.6, it refuses to send any Apple Events nor do I get prompted. Instead I get an errAEEventNotPermitted (-1743):

​Traceback (most recent call last):
  File "/Users/nicholas/Library/Scripts/Applications/EagleFiler/Update Dates In Place.app/Contents/Resources/script", line 281, in <module>
    aem.app.elements('BroW').property('docu'))()
  File "/Library/Python/2.7/site-packages/aeosa/appscript/reference.py", line 642, in __call__
    return self.get(*args, **kargs)
  File "/Library/Python/2.7/site-packages/aeosa/appscript/reference.py", line 498, in __call__
    raise CommandError(self, (args, kargs), e, self.AS_appdata)
appscript.reference.CommandError: Command failed:
        OSERROR: -1743
        MESSAGE: OS error
        COMMAND: app(u'/Users/nicholas/Applications/EagleFiler.app').browser_windows.document.get()

The permissions seem to be set in System Preferences:

image

I also tried tccutil reset AppleEvents, which cleared the list in System Preferences, but I didn't get prompted.

If I just run the script from Terminal it works fine.

I also tried signing/notarizing to see if that'd help, but while notarizing appears to succeed, Gatekeeper doesn't recognize it as an app:

% spctl --assess -vvv Update\ Dates\ In\ Place.app
Update Dates In Place.app: rejected (the code is valid but does not seem to be an app)
origin=Developer ID Application: Nicholas Riley (CYEL96ZVC2)
nriley commented 4 years ago

Don't worry about it; I no longer depend on Platypus for this script.