CocoaConf San Jose starts on Thursday. As with the other stops on the Fall tour, I’ll be doing an all-day class on App Extensions, and regular sessions on WatchKit media APIs and “Revenge of the 80s”, which is about old productivity APIs like cut/copy/paste that have been with us since the first Macs and which we take for granted.

This is also the last speaking I’ll be doing for a while. I’m taking at least the first half of 2016 off, maybe longer.

OK, sorry, didn’t mean to sound dramatic. But hey, you have to have a hook before the fold. Let me explain where my head’s at right now.
Read the rest of this entry…

New book alert: iOS 9 SDK Development, now available as a beta ebook from Pragmatic Programmers.

Cover of iOS 9 SDK Development

So what’s new and different? Well, the big one is, it hasn’t been three years since the previous edition. In the history of the basic iOS book from Pragmatic Programmers, between me, Bill, and Janie, it’s previously been the case that we’d more or less completely rewrite the whole thing, then not do anything with the title for two or three years. And at that point, we’d find it was so out of date, we either had to do a ground-up rewrite, or pull it out of print. Not to mention that the sales in years 2 and 3 were pretty much zero; nobody wants an iOS 6 book once iOS 7 comes out.

So, new idea: instead of rewriting 100% of the book every three years, how about we rewrite 33% of the book every year? Could that be a sustainable pace? That’s what we set out to try with this edition.
Read the rest of this entry…

You guys, and girls, you won’t believe this.

So at work, I’m doing a feature that requires sharing a pre-formatted message by the user’s choice of mail, iMessage/SMS, Twitter, or Facebook. So we use the typical iOS compose controllers from the MessageUI framework for the first two, and Social framework for the others. Everything’s fine, until my issue gets returned, saying that the Facebook share sheet has no text.

It’s fine for me when I test it, so I search around for “SLComposeViewController Facebook empty” and discover something.
Read the rest of this entry…

Quick note about speaking plans for late 2015:


I’ll be speaking at CocoaConfs Boston (Sep. 18-9) and San Jose (Nov. 6-7). Boston is going to be a one-track conference, since CocoaConf had such good results with that in Yosemite. I’ll be bringing my App Extensions class and Video Killed the Rolex Star, which is all about the media APIs that are (and aren’t) on Apple Watch.

Chris Adamson in Game Show

Early Bird for Boston ends Friday (July 31), so get on it if you want to go.

Read the rest of this entry…

Next up on our tour of WWDC 2015 media sessions is the innocently-titled Content Protection for HTTP Live Streaming. Sounds harmless, but I think there’s reason for worry.

For content protections, HLS has always had a story: transport segments get a one-time AES encryption, and can be served from a dumb http server (at CocoaConf a few years back, I demo’ed serving HLS from Dropbox, before it was https:-always). You’re responsible for guarding the keys and delivering them only to authenticated users. AV Foundation can get the keys, decrypt the segments, and play them with no client-side effort beyond handling the authentication. It’s a neat system, because it’s easy to deploy on content delivery networks, as you’re largely just dropping off a bunch of flat files, and the part you protect on your own server is tiny.

So what’s “FairPlay Streaming”, then?
Read the rest of this entry…

Next Page »