Janie Clayton-Hasz and I are working on the unit testing chapter for the still-unannounced book, and we’ve had enough fun that we decided to share a little bit of what we’re up to.

In the previous edition, I wrote a testing chapter based on Bill’s iCloud recipes project, and it was a nightmare for a couple of reasons. First, a completion handler that was supposed to be called from -[UIDocument closeWithCompletionHandler:] wasn’t, at least not in iOS 6. Second, iCloud sucks (c.f., “First”). And finally, the whole idea of testing something that takes an unknown amount of time is an interesting problem, one that OCUnit was not built to handle.

So it was really cool that Janie did the research and came back with promising results about asynchronous unit testing in iOS 8 / Xcode 6. Then we jumped into the chapter and… well, it’s not as pretty as the WWDC video would have you believe. It works, but sometimes you have to play a little dirty to get it there.

Read the rest of this entry…

There goes another one.

That’s @jonathanpenn, as he heads off to Apple. He follows a number of top indie developers/author/speakers to head to the mothership in the last few months, including Patrick Burleson, Kevin Hoctor, and if we’ll go back a little over a year, we can throw in my former iOS SDK Development co-author Bill Dudney.

This is causing a little bit of angst among those of us who hate to see our friends decamp from our communities to California, and to suggest that maybe indie iOS development/writing/speaking isn’t tenable. Janie Clayton-Hasz, whom I’m working with on a soon-to-be-announced project, expresses this from the POV of a newcomer to development life in her latest blog.
Read the rest of this entry…

In previous years, planning for Q3 speaking dates has been an enormous hassle, thanks to the Apple NDA: you can’t talk about any of the stuff coming in the new version of iOS, so you have to deliberately pick older topics, with a possible eye to getting new stuff ready to go depending on when Apple announces and releases the new bits, and whether that lines up with your conference dates.

Last year, I just threw up my hands and did evergreen topics that were largely outside the Apple sphere of influence: A/V encoding and Audiobus.

This year, thanks to Apple backing off the NDA, speakers are free to dig into the new stuff introduced at WWDC. This suddenly transforms August’s CocoaConf Columbus from having old, crusty, but NDA-safe material, to instead being one of the first conferences that can dig into the iOS 8 technologies.
Read the rest of this entry…

So the initial thrill of Swift is over, and lots of us are digging in. So far, there haven’t been any screaming denunciations that I’ve heard, but surely they’re coming… if there aren’t, then we’re all too easy to please.

The best thing I can say about Swift is that it’s deeply pragmatic. Rather than set about creating some beautiful, “perfect” language (or identifying one that already exists), Swift’s highest priorities include reconciling C and Objective-C and the entirety of the existing frameworks for iOS and OS X. Having to rework all those frameworks to suit some other language is presumably a non-starter, as Apple’s tried that without success three times now (the Cocoa bridges from Java, Ruby, and Python).

As I rework our iOS intro book for Swift — no, it won’t be formally announced until the publisher is convinced it’s a go, but anyone following me on Twitter knows I’ve been working hard on it for the last week — much of what Swift does for beginners pleases me. To the degree that it unifies the conventions of C and Obj-C under the guise of global functions and methods respectively, it certainly saves me from having to tell beginners “square brace idiom here, but parentheses here, because history.” And Swift’s closure syntax is far more memorable than blocks ever were; I’m already writing them by hand without resorting to the cheat sheet.

But the fact that the frameworks were programmatically adapted for Swift rather than carefully combed over introduces some new pain points.
Read the rest of this entry…

Interesting development coming out of WWDC this year. When we all logged into the dev center to get the new iOS 8 / Mac OS X 10.10 / Xcode 6 bits, there was a new developer agreement to acknowledge. One of the few people to actually read it, Ole Begemann, noticed that it has a surprising new provision:

Further, Apple agrees that You will not be bound by the foregoing confidentiality terms with regard to technical information about pre-release Apple Software and services disclosed by Apple at WWDC (Apple’s Worldwide Developers Conference), except that You may not post screen shots, write public reviews or redistribute any pre-release Apple Software or services

In the past, all of us developers have had to tip-toe around the new SDKs, APIs, and tools until they’re officially released, which leads to embarrassing situations like WWDC recap sessions at CocoaHeads where we say “well, if they were going to put an Obj-C wrapper around Core Audio, they might…”. This new change in policy would seem to indicate that we’re no longer compelled to engage in such silly antics.

Fry: Not sure if NDA is still on, or if I just broke it
Read the rest of this entry…

Next Page »