NSNotification & NSNotificationCenter
Any idea is inextricably linked to how its communicated. A medium defines the form and scale of significance in such a way to shape the very meaning of an idea. Very truly, the medium is the...
View ArticleMultipeer Connectivity
As consumer web technologies and enterprises race towards cloud infrastructure, there is a curious and significant counter-movement towards connected devices.In this age of mobile computing, the...
View ArticleUIApplicationDelegate launchOptions
AppDelegate is the dumping ground for functionality in iOS.Application lifecycle management? URL routing? Notifications? Core Data incantations? Invasive and monolithic 3rd-party SDK initialization?...
View ArticleReader Submissions - New Year's 2014
As we prepare to increment our NSDateComponents -year by 1, it's time once again for NSHipster end-of-the-year Reader Submissions! Last year, we got some mind-blowing tips and tricks. With the release...
View ArticleColophon
As a way to kick off this new year, I thought it'd be fun to share some insights of just how NSHipster is made. This article covers both the website and the recently-released NSHipster book, so if...
View ArticleNSRange
NSRange is one of the essential types of Foundation. Passed around and returned in methods throughout the framework, being well-versed in this struct has a range of benefits, which this week's article...
View ArticleExtended File Attributes
Amidst revelations of widespread spying by the NSA, the concept of metadata has taken an unexpected role in the national conversation about government surveillance. What is it? And how much does it...
View ArticleStewardship
Open Source communities function within what economists describe as a Gift Economy. Rather than paying one another for goods or services through barter or currency, everyone shares freely with one...
View ArticleMKTileOverlay, MKMapSnapshotter & MKDirections
Unless you work with MKMapView on a regular basis, the last you may have heard about the current state of cartography on iOS may not have been under the cheeriest of circumstances. Even now, years...
View ArticleAssociated Objects
#import <objc/runtime.h>Objective-C developers are conditioned to be wary of whatever follows this ominous incantation. And for good reason: messing with the Objective-C runtime changes the very...
View ArticleMethod Swizzling
If you could blow up the world with the flick of a switch Would you do it? If you could make everybody poor just so you could be rich Would you do it? If you could watch everybody work while you just...
View ArticleNamespacing
Why the hell is everything NS-whatever?You'll hear that within the first minute of introducing someone to Objective-C. Guaranteed.Like a parent faced with the task of explaining the concept of death or...
View ArticleNSTemporaryDirectory / NSItemReplacementDirectory / mktemp(3)
Volumes have been written about persisting data, but when it comes to short-lived, temporary files, there is very little to go on for Objective-C. (Or if there has, perhaps it was poetically ephemeral...
View ArticleUIReferenceLibraryViewController /DCSDictionaryRef//usr/share/dict/words
This week's article is about dictionaries. Not the NSDictionary / CFDictionaryRef we encounter everyday, but those distant lexicographic vestiges of school days past.But seriously, why are dictionaries...
View ArticleEmpathy
Great software is created to scratch one's own itch. Being close to a problem provides not only insight for how to solve it, but the motivation to actually follow through.It's the better angels of our...
View ArticleNSURL /NSURLComponents
There is a simple beauty to—let's call them "one-dimensional data types": numbers or strings formatted to contain multiple values, retrievable through a mathematical operator or parsing routine. Like...
View ArticleAVSpeechSynthesizer
Though we're a long way off from Hal or Her, we should never forget about the billions of other people out there for us to talk to.Of the thousands of languages in existence, an individual is fortunate...
View ArticleConfiguration Profiles
One of the major criticisms of iOS as a platform is how locked down it is.Each app is an island, only able to communicate with other parts of the system under strict terms, and with only then with...
View ArticleXcode Plugins
Apple is nothing if not consistent. From Pentalobular screws to Sandboxing, customers are simply expected to relinquish a fair amount of control when they choose to buy a Mac or iPhone. Whether these...
View ArticleUIActivityViewController
The relationship between code and data has long been a curious one.Certain programming languages, such as Lisp, Io, and Mathematica are homoiconic, meaning that their code is represented as a data...
View Article