Not that I’ve been even remotely subtle about it, but with today’s release of iOS 8 and the end of the NDA on its SDK, I can now officially announce iOS 8 SDK Development, now available as a beta book from Pragmatic Programmers:

Here’s the tl;dr:

  • Pretty much completely rewritten from previous edition
  • All code examples use the Swift programming language
  • Works through a single app all the way through the book so readers get experience of evolving a non-trivial app
  • Shows off iOS 8 features, including adaptive sizing strategies for the iPhone 6 and iPhone 6 Plus

Read the rest of this entry…

WWDC is next week, and hope springs eternal that the walls between apps will come down, or at least they’ll be a little more permeable. Typifying this long-running wish is the rumor that iPads will offer a side-by-side mode, ala Windows 8.1, allowing more direct data sharing between two apps running concurrently.

As always, I’m skeptical. And I guess what’s driving that skepticism is the sense that few iOS developers are using the data-sharing APIs we already have.
Read the rest of this entry…

A couple speaky/selly things real quick…

As mentioned in earlier posts, I’m speaking at all four of the upcoming CocoaConfs. I’m reprising my all-day tutorials:

  • iPad Productivity (UIDocument, autosave, iCloud, PDF/printing, inter-app doc exchange) in Portland (August) and Columbus (September)
  • Core Audio in Boston (October) and Atlanta (November)

I’m also doing two regular hour-long sessions, on Audiobus and A/V encoding. For Audiobus, feel free to abandon any angst that this much-loved third party tool for inter-application audio will be obsoleted and abandoned by Apple’s announced introduction of an inter-app audio framework in iOS 7. The Audiobus team announced that Audiobus will adopt Apple’s new APIs when running under iOS 7, meaning you’ll get compatibility with both Audiobus-enabled apps and those that use Apple’s new APIs. So it’s still well worth learning about if you’re into audio; I’m working on some demo code to show it off. Thinking I might bring back the Dalek ring modulator code from 360iDev a few years back and wrap it as an Audiobus effect (Hi Janie!)
Read the rest of this entry…

MacWorld ran a story last week to remind readers that A $5 App Isn’t Expensive, and imploring readers to stop being such cheapskates for the sake of the App Store economy.

Earth to MacWorld: It’s already too late. The market has spoken, and it refuses to pay for apps, even when the toxic side-effects of that are manifest.

MacWorld’s piece comes in part as a response to Michael Jurewitz’s five-part series on app pricing, posted on the eve of his return to Apple (and, presumably, a lot more circumspection about his future blogging). Jury sees the app pricing race to the bottom as a self-inflicted wound and urges developers to charge what their apps are worth.

Great advice… for anyone still around to take it.
Read the rest of this entry…

OK, let’s do this thing.

Attendees of the iPad Productivity Workshop — an all-day class I did for the first time, following a poll here on [Tc]; about new tutorial topics — have already written all the code, but for DC students who want an advanced peek (or anyone else who’s interested), here’s a zip of the project in its various stages.

The “staged examples” is an idea I got from Daniel Steinberg, who swears by it for his classes. The great thing about it is that if someone falls behind, they don’t get lost: they can just skip ahead to the next checkpoint in the code’s progression. In this class, we build an app that can search iTunes, put results in an UICollectionView, and then allows the user to build their wishlist of items as a UIDocument. Along the way, we add in:

  1. Copying an item to the clipboard, to paste into other apps
  2. Document persistence, with iOS background saving
  3. Add to / delete from list
  4. Undo of add/delete
  5. Save document to iCloud
  6. Import documents from other apps (e.g., receive a wishlist as an e-mail attachment or Safari download)
  7. Export wishlist to PDF and send it to mail, printer, other PDF apps

It turns out to be more than I can teach in 8 hours, so with the stages, we just skip ahead to a good starting point. In Chicago, we started at stage 3, with the search feature working and the split-view for wishlist browsing set up in the storyboard but not yet implemented. The code might get a few tweaks before DC — possibly sorting the .wishlist files in the master table, and supporting pasting into the wishlist — but overall things are in really good shape.

As for my other talks, I did Core Audio in iOS 6 and Mobile Movies with HTTP Live Streaming again. They’re good talks and pretty polished at this point, but they were in some ways meant as a placeholder in case Apple gave us something new to play with in time for CocoaConf. Obviously that hasn’t happened… it’s been a real boring Q1 in Apple-land.

If you’re here for the Core Audio, note that this is the corrected, works-on-iOS-6.1 code that I discussed in a previous blog entry.

Next Page »