• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API?


  • Subject: Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API?
  • From: Jeff Johnson <email@hidden>
  • Date: Thu, 27 Jun 2013 12:58:25 -0500

I haven't seen many things removed from OS X, ever. There are some things that never made it to 64-bit, such as QuickDraw, but I fully expect that QuickDraw will be around in 32-bit as long as there is still 32-bit. There's just too much risk and too little reward for Apple in removing deprecated API. I think that deprecation is basically short for "Don't bother filing Radars against this." iOS is an entirely different matter, because of the app store, where Apple can force developers' hands.

There's actually some kind of advantage in using deprecated API on OS X, because Apple isn't making any changes to it, so it's less likely that Apple will unintentionally break it. I've seen plenty of "supported", non-deprecated API that get broken in 10.n updates or even in 10.n.m updates and never get fixed, or get fixed only years later. Deprecated API, on the other hand, tend to be very stable over the course of many years.

This is not to say that I'm encouraging people to adopt deprecated API. But if you're already using it, and it's a pain to rewrite, then I'd focus your developer hours elsewhere. (Again, this is only OS X advice, not iOS.)

-Jeff


On Jun 27, 2013, at 12:34 PM, Chris Adamson <email@hidden> wrote:

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


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Will ObjC-based CoreAudio AudioSession API deprecate the C API? (From: Beinan Li <email@hidden>)
 >Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API? (From: Douglas Scott <email@hidden>)
 >Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API? (From: Chris Adamson <email@hidden>)

  • Prev by Date: Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API?
  • Next by Date: Re: What happens if AVMutableComposition is mutated during playback?
  • Previous by thread: Re: Will ObjC-based CoreAudio AudioSession API deprecate the C API?
  • Index(es):
    • Date
    • Thread