On Jun 27, 2013, at 1:06 PM, Douglas Scott < email@hidden> wrote: AFAIK, no other parts (or at least significant parts) of CoreAudio are slated for deprecation. Remember that deprecation does not mean your apps cannot use them -- just that new features are going into the new API, not the old.
That's a somewhat softer statement than Apple usually makes about deprecation. The SDK Compatibility Guide says:
Always check to see if you are using deprecated APIs; though still available, deprecated APIs are not guaranteed to be available in the future. The compiler warns you about the presence of deprecated APIs in your code, as described in “Finding Instances of Deprecated API Usage.”
A lot of us who've come from other platforms are impressed by the fact that Apple actually *does* remove deprecated APIs after a while, though it's clear that Apple pays attention to how much pain the removal will cause and waits when it's appropriate/possible to do so (notice that QuickDraw is still hanging around in OS X 10.8, despite being deprecated back in 10.4. Same with Sound Manager, deprecated in 10.5).
Still, I take deprecation a lot more seriously on iOS and OS X than I ever did back in Java, where changing anything major in the platform takes 5-10 years. It's not a bad idea to assume that once something's deprecated on an Apple platform, you have until the next full-point version of the OS to get off of it (so… about a year). I know of only one case where something in iOS was deprecated and killed faster than that.
FWIW, I initially thought the deprecation of AudioSession was a little strange, given that it forces apps to import the Obj-C-based AV Foundation API, but given that it's an iOS-only API and you can't really write an iOS app without Obj-C, it's probably good to eliminate the duplication of effort and have that functionality live in one place.
--Chris
|