Signing a quartz composition?

weevil's picture

I'm trying to get around the problem of Quartz Compositions no longer being usable as scrensavers in Mojave. Currently they all seem to give the "You cannot use the screen saver with this version of macOS. Please contact the vendor to get a newer version of the screen saver", message.

Someone suggested that I sign my composition in Editor > Edit Information, but I'm not sure what to add here. Adding values to name and copyright don't seem to have any effect. I do have a signing certificate in Xcode already if that is useful?

Achim Breidenbach's picture
Re: Signing a quartz composition?

I tested code signing a composition to use it as a screensaver in macOS Mojave but it didn't work out.

However, you will need a valid code signing certificate as an Apple Developer to do a valide code signing.

This is a code snippet I use in Apple Script to do code signing for layers in mimoLive:

set filepath to [PATH TO QC-FILE] set layerIdentifier to [A UNIQUE IDENTIFIER FOR YOUR SCREENSAVER] set result1 to do shell script ("codesign --force --sign \"[YOUR DEVELOPER CERTIFICATE AS IT IS LISTED IN KEYCHAIN]\" --identifier \"" & layerIdentifier & "\" \"" & filepath & "\"") as text set result2 to do shell script ("codesign -dv \"" & filepath & "\"") as text

funwithstuff's picture
Re: Signing a quartz composition?

We're now a few updates into Mojave, and it looks like Apple doesn't care that .qtz files no longer work as screen savers.

Does anyone have a solution for this? I've not found anything to date, but I'd love to keep my folio of .qtz work going as screen savers, even if I have to build them individually. :)

Achim Breidenbach's picture
Re: Signing a quartz composition?

I actually tried to create a "Scrennsaver Composition Loader" screen saver, a native screensaver app that can load .qtz files and play them back as the actual screensaver. I thought that Mojave just won't load the .qtz files anymore but still can play them other ways. I turned out that for some reason the needed QCView won't show up in a screen saver environment. My app was able to show the QC in the Screensaver preview window but only a black screen in case the screen saver was in full screen. Next thing I can try is to render the composition off screen (like we do in mimoLive) and just present an image at the end. But I need to find some time to work on it...

gtoledo3's picture
Re: Signing a quartz composition?

IIRC you can do it by having a screensaver load the qtz, but a qcview doesn’t work because of some other bug. So, you have to use one of the other methods for rendering a qtz.