You have to hand it to Apple – people do care about what they’re doing. Interest in how iOS 7 impacts audio performance is proving more dynamic than I imagined.
As an addendum to the story earlier today, it’s worth adding just two points for users – and highlighting some code for developers.
1. This stuff is likely to be fixed. Of course, that’s the best argument for chilling out and waiting. Let the developers (and eager testers) try stuff out, report what isn’t working, and allow third-party developers (and Apple, where relevant) make it work again. If you’re the sort of person who likes tinkering with a phone or iPad, then you should press on. If not, then you should heed our advice.
2. There is mainly one show-stopper bug. Upgrading will mean different experiences for different users – some of you have apps that work just fine, some of you might rely on just one app you really love that hasn’t yet been updated and has some problem.
Most of the issues are isolated, but one is more widespread, and it may be enough to make you want to postpone your upgrade. Through the course of the day, we’ve heard more about the “interrupting alert” problem. From comments, one developer tells CDM readers what’s going on in clear terms – and give you a workaround, if you are upgrading today:
After the phone call or alert is dismissed, audio apps cannot recover their audio session and will either hang indefinitely, crash, or present an error message depending on the app.
The bug typically only occurs when using headphones plugged into the iOS device, and does not seem to happen when using USB audio interfaces or the built in device speaker.
Normally, once the phone call or alert is finished and dismissed, audio apps will resume playback.
It appears this particular problem – and its eventual solution – are both on the OS side. With an iOS 7.0.1 update already released in the last few hours (the same day as release), a quick fix from Apple seems possible. (7.0.1 doesn’t impact anything we’re talking about here; it’s for iPhone 5S and 5C owners only.)
This is a bit ironic to me, in that one of the things I admire about iOS on the development side is its ability to handle the lifecycle of sound in an app without developer intervention. But… well, hopefully they fix it and I can go back to admiring that.
Any major updates, we’ll carry here; otherwise, keep an eye on Twitter accounts and support forums for the latest from your favorite developers.
For developers: Let’s talk about an advantage for sound in iOS 7. Having built-in inter-app audio should be a good thing, and should eventually complement specialized tools like Audiobua and JACK.
Zach Saul, founder of music developer Retronyms (maker of Tabletop and Akai apps), writes in CDM comments:
We think inter-app audio is going to be fantastic for iOS music apps. To help things along, we’ve put our basic AudioIO setup code up on our blog. This is an expanded version of the AURemoteIO code that should do all of the setup that you need to be an inter-app host or a node, and it also works with AudioBus! We’ve included it in a sample project that acts as a simple inter-app audio node that plays a 440hz sine wave. If you need a sample host, an inter-app update for Tabletop is coming soon… 😉