Comment

Things may look a little different around here today.

It felt like it was time for a freshen up of the site design for iOS Dev Weekly so we have been working on giving the site a new coat of paint and here it is. The email has a new look but content is still at the heart of the design. I hope you like it. The site also has a few new features as well including the option to subscribe via Safari Push Notifications and the #1 feature request since I started this, Search.

As always, if you have any comments or if something doesn't work, just hit reply...

Dave Verwer

News

YES, a thousand times yes! I couldn't agree more with this article by Bryan Irace on keeping libraries small and single purpose. I'm naturally very cautious with third party libraries but the amount of functionality included in a library is inversely proportional on how likely it is to make it into an app of mine. I'd rather include 3 libraries that do exactly what I need rather than one library which does 26 other things as well.

This is more of an interesting story about git rather than anything to do with CocoaPods but I found the dilemma interesting. Ultimately, they made exactly the right decision here given the nature of the content in the corrupted repository but if you have a cloned version of the CocoaPods specs repository then you need to delete it and clone it again, now.

Sponsored Link

For the first time, you can pass dynamic parameters to your app that punch through the App Store's firewall. Deferred deep links mean you can send new users to a specific spot inside the app - for example if a user installs the app by following an invite from a friend, automatically follow that friend once the app is installed, or create compelling user acquisition campaigns by unlocking content based on the installation source. Create a Tapstream account and use it today.

Tools

The "Run Script" build phase available in Xcode is a really useful, but underused part of the build system. Matthew Morey digs into a couple of build phase scripts that he finds useful in this article but it might trigger something you can automate in your build as well.

Code

Mike Ash with a look into the basics of experimenting with libclang. If you had been meaning to dip your toe into the possibilities of programatic access to some of the clang features then this will get you started. Mike goes through the setup and then builds a small app with it, a fun read as always.

I hadn't come across YapDatabase before yesterday but after seeing this article by Robbie Hanson explaining how it attempts to address some of the weaknesses and complexity of Core Data. This isn't to say that Core Data is bad, far from it. However while reading this many of the points rang true with me. I haven't had a chance to try it out yet but this article has intrigued me enough to give it a go, at least in a test application.

More open source Objective-C from Facebook/Parse this week with the release of this library for asynchronously executing blocks of code. With more flexible dependencies than NSOperation allows as well as being able to take advantage of either NSOperationQueue or GCD, this looks like it could be really good.

Recycle UIView based components just like they were table cells? Arnaud Coomans released this library to do exactly that this week and it looks good. I've implemented mechanisms for this myself several times but never took the time to extract my implementation into a library.

Design

Neven Mrgan on a feature of Photoshop that I had heard of but never taken the time to investigate. Layer Comps are sets of configurations within Photoshop to show/hide layers/effects/stuff. Fantastic tool for building up multiple options. If you're a seasoned Photoshop user this is almost certainly not news, but if you are an occasional user, like me, then this may change your workflow.

Business and Marketing

Dan Counsell is killing it with his recent blog posts (some of which I have linked to over the last few issues) and this latest one on choosing a business model for your app is no exception. Essential reading.

Claire Blackshaw on the addiction that game designers have with progression rather than storytelling. There are some great examples of how to avoid the progression trap in here and it made a very entertaining read as well. There is also an accompanying video if you prefer listening to reading.