Apple made a radical decision with iOS 9, disabling all unsecured HTTP traffic from iOS apps, as a part of App Transport Security. This helps in enforcing security best practices, but in many s...
The WWDC keynote today was great, except for the part where it just wouldn’t end. Tons of new stuff on the development front including Swift 2, iOS 9, CloudKit etc. Here are some notes I gath...
Retain cycles. We’ve all likely been bitten by it at least once. Especially with the increasing role blocks/closures play in modern day iOS development. As you probably already know, referencin...
I’m sure you’ve often wanted to inspect the return value of a method in Xcode’s debugger with breakpoints. But because you can’t put a breakpoint after the last line of a method, it becom...
Michael Villar’s excellent Motion Experiments post had a great image loading animation. RJImageLoader is a recreation of that animation in Objective-C for iOS. If you want to know how it wa...
Twitter recently updated its iOS app with a really cool startup animation that transitions from the Default.png to the timeline view. The animation uses the Twitter bird as a window into the time...
Earlier this week Ole Begemann wrote a really great tutorial on how UIScrollViews work , and to explain it effectively, he even created a really simple scroll view, written from scratch . The s...
Facebook today open sourced its highly-anticipated animation framework called Pop that powers the animations in the Paper for iOS app. Pop’s methods for defining animations resemble Apple’...
Xcode Release Notes : Xcode got updated to version 5.1.1 today. Release notes say there are a lot of bug and crash fixes. Hoping Xcode crashes lesser with this update.
There are a lot of Xcode plugins to augment the IDE with additional features, conveniences etc., but it is a pain to discover and install such plugins. Alcatraz is a really great package manager ...
I’m slightly familiar with key value coding, but never really used it in any project. But I think I’ve found a good use for KVC, which I didn’t know about: Calling valueForKey on a collec...
One of the main reasons why Reveal is so useful is that it lets you see UIViews objects that are not visible on the screen. Xcode 5 added support for previewing UIImage objects , and Apple has ex...
Ever wanted to have your own custom loader view instead of iOS’ default spinning circle? If what you want isn’t very complicated, you could probably achieve it very easily using UIImageView...
UPDATE: We’ve released Design Shots v2.0. You can see what’s new here . So me and my friend shipped this app called Design Shots for scrolling through great designs on Dribbble . Total dev...
Working on a project with multiple people and discovered a glaring bug? There’s an easy way to see who was responsible for committing it using Xcode’s advanced source control features. Just...
Ever wanted to monitor changes to a property of a class? I would initially implement a custom setter for the property and then add a breakpoint in that function, but there’s an easier way. Ju...
Finding methods in a huge file can be a tough task, especially if you use the usual Find option and have to jump over all the method calls to finally arrive at the method definition. Fortunately,...
If you’ve tried to create a UIImage instance from data fetched over the network, you know the errors that could come up. To easily verify if your image has been initialised correctly, you can u...
You’ve probably tried to debug logic flow or inspect the content of the parameters in your method by adding NSLog statements and re-compiling your app. There’s a much better and quicker way...
Facebook engineer talks about the company’s iOS development process. Some nice tips about threads, running regex-based checks before committing code, and testing without a dedicated QA team. ...