danielmorena's picture

Facing a possible QuartzComposer deprecation/extinction scenario in the next OSX iteration, and VUO been not released yet, does anyone succeeded/tried to figure a way to deploy compositions in a app using the current QuartzComposer framework as embedded framework? Or perhaps trying to recreate the environment with a pkg placing all the pieces in the correct places? This is even possible?

vade's picture
Re: 10.9

Yes, that is possible, 100%. You'd have to do some work, and any features of the Quartz graphics library or OpenGL that the Quartz Composer relies on has to still be available on the current OS you run your 'older' Quartz Composer.framework including app. But, to be clear:

The path forward will be (assuming deprecation occurs - and assuming I have my facts straight - also, this is speculation, but logic tells me it will probably go something like this):

10.9 will "support" Quartz Composer, deprecation simply means : "officially, this path is dead, now is the time to move on - all development and support for QC is over Bug reports, and remaining unsolved issues will forever be unsolved". You can continue to develop applications that leverage Quartz Composer, and target the 10.9 SDK - but you will be warned what you are doing wont be supported by future XCode and OS releases. In other words, "youre on your own".

10.10 - You need to target 10.9 SDK, and that means by doing so, you opt out of any new 10.10 features - full stop. This means your app is running legacy code and is no longer able to take advantage of any further developments on OS X without ditching deprecated APIs (in this case, Quartz Composer).

10.11 - Typically, older SDK's and features from a few revisions ago are now not included at all, which means, the Quartz Composer framework leveraged by Quartz Composer is no longer included anywhere on the system - its been officially removed. This is when you would need to manually include the older Quartz Composer framework copied from an older OS X, change the linker paths, and embed it manually in any application you want to continue using that leverages Quartz Composer. That might be pushed back to 10.12, but who knows. Speculation.

For reference, 10.8 includes the 10.7 SDK, so you can target, and run applications that need 10.7 only features that, 10.8 may have dropped. This means you can't leverage any new 10.8 only stuff. I think, you can go back as far as 10.6 only things, assuming the app targets the 10.6 SDK. I could be wrong about that.


AriX's picture
Re: 10.9

Quartz Composer is not deprecated in 10.9 and it was never going to be. Quartz Composer is used in many different parts of the Mac OS.

If Apple continues to not focus on it, it might go away at some point, but it will not play out like you are suggesting. Apple does not require that you target older SDKs in order to use deprecated APIs. Sometimes Apple will use old implementations of things for apps compiled under older SDKs, but this is strictly for compatibility reasons; they want to make sure that developers are able to test the new behavior before users are subject to it.

Deprecated APIs often take a very long time to go away. There are tons of APIs, especially Carbon ones, that have been deprecated for years -- yet they are still around, and some continue to be used are even used internally by Apple (lots of Cocoa is wrappers around Carbon).