The Growing iOS SDK

David Smith writes about how much the iOS SDK has grown over time. One thing that was interesting is that more “SDK elements” were added in iOS 8 than iPhone OS 2 (which is crazy).

The last paragraph echoes something I’ve felt for a while:

There was a time when I felt like I knew my way around pretty much every non-game SDK available on iOS. Now I often find myself stumbling across frameworks that are completely foreign to me, which is both kind of exciting but also extremely daunting.

I suppose that’s normal. I can’t tell you how often I find out about a “new” API only to realize it’s been around since iOS 5.

NetNewsWire 4

The best is back! The folks at Black Pixel have shipped NetNewsWire 4 for Mac and iOS. I’ve already bought it from the App Store and it looks great.

Congratulations to all of my friends at Black Pixel for getting this out the door. It’s been a long road, and I’m glad to see their work paying off.

Acorn 5

It’s a couple of days back now, but Flying Meat has released a new version of their fantastic image editor: Acorn. I’ve used Acorn for my work and personal projects since version 1.0 in 2008, and it’s incredible to see how far it’s come while still keeping the simplicity that made it so appealing in that first version.

Gus is a friend — so don’t tell him I said this — but to me he’s always been the epitome of the one person indie who’s both a world class developer and also a fantastic designer. Check it out.

UITableView Extension to Deselect Selected Row

Nothing fancy. Just a tiny little extension method that makes doing this in Swift slightly nicer.

Answers Events by Crashlytics

I’ve used Crashlytics for beta testing my new app, including their lightweight analytics-thing Answers. It’s cool in that it shows you the most relevant data, but I was never going to be able to sell it as a replacement for Flurry or Google Analytics (which I loathe). Today they announced Answers can do event tracking, and on top of that it looks fabulous. The web UI makes it really easy to see and add the most common kinds of things I’d actually want to track, and the iOS SDK looks like it was made by people who have written Cocoa before.

Hopefully Twitter can keep from fucking this up.

Fix Broken Swipe to Go Back With Hidden Navigation Bar

Occasionally you need to a show a view controller as part of a UINavigationController stack where you want the navigation bar hidden. Unfortunately, hiding the navigation bar breaks the swipe right to go back feature.

You can fix it by doing this in your viewDidLoad method:

Swift NSManagedObjectContext Extension to Delete All Core Data Objects

I made this NSManagedObjectContext extension so that I could delete all of a users data when they log out of the app I’m writing. The alternative was to delete the sqlite file itself and reinitialize my Core Data stack, but that seemed potentially more problematic and less safe.

The two instance methods on NSManagedObjectContext for deleting objects are:

  • func deleteAllObjects(error: NSErrorPointer)
    • Delete all objects in a context. Bails out and returns an error if there’s any problems.
  • func deleteAllObjectsForEntity(entity: NSEntityDescription, error: NSErrorPointer)
    • Delete all objects of an entity type. Bails out and returns if there’s an error.

I also included a convenience initializer for creating a new context with a parent. The way I use the deletion methods would be to create a private queue child context, block out the UI while this is going on with an activity indicator or something, and then call deleteAllObjects(_:) on the child. If there’s an error, you can just throw away the child context, and otherwise save your main context and commit it back to the store. Like this:

Here’s the code for the extension:

Kourosh Dini Talks GTD and OmniFocus on Mac Power Users

Kourosh Dini wrote the book everyone using OmniFocus should read called Creating Flow With OmniFocus. Seriously, I can’t recommend it enough. Another thing I recommend is listening to the most recent episode of Mac Power Users where they have Kourosh on. He talks about how he does GTD, and a little OmniFocus specific stuff too. I’ve kind of fallen off the wagon a bit lately, and this has made me decide to get back on and get my system in order. I should stick a task in my inbox to remind me to blog about that.

Daniel Jalkut on Apple News

Apple News And The Open Web | Bitsplitting.org:

I’m optimistic that Apple’s News app will be a strike against centralized services such as Medium, Twitter, and Facebook. A strike against signing over content to a 3rd party mediator for the sake of a greater chance at connecting to an audience. Apple may not be the world’s best technology company when it comes to either storing data or building a social network around it, but they are damned good at building a captive audience of delighted users who trust the company to provide access to a variety of 3rd party content.

Calling iMessage an impressive social network is a bit of a stretch considering my messages still sync across devices in seemingly any order. I don’t know if the News app is going to pull anyone who’s dedicated to RSS away from it, but it might be great for those who aren’t.