The Objective Sea

Uncategorized
Developers love to make lists. We're not always great at organizing our lists or sharing them with the world, but boy do we love making lists. It seems like I learn about a great new library, or trick, or tool from a peer developer, or hacker news every few days. Earlier this year I started writing a personal list of these resources in a spreadsheet, and after a few days there were over 250 items in my secret little spreadsheet. I discussed this list-making with a few of my fellow developers and we agreed it would be awesome to combine our lists and make something like nshipster and one thing well blended together. If nshipster and one thing well had a baby, it would be our new blog, The Objective…
Read More

Fix Crittercism’s lack of logging

Uncategorized
Crittercism does not log exceptions to the console, which sucks while you're developing. To fix this, you can proxy their exception handler with your own, something like this: @implementation AppDelegate void myExceptionHandler (NSException * exception){ NSLog(@"Caught top-level exception: %@: %@\nStack:\n%@", exception.name, exception.reason, [NSThread callStackSymbols]); crittercismHandler(exception); } static NSUncaughtExceptionHandler* crittercismHandler; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Crittercism enableWithAppID:@"your app id"]; crittercismHandler = NSGetUncaughtExceptionHandler(); NSSetUncaughtExceptionHandler(&myExceptionHandler); .... } If you use several libraries that auto-install their own exception handlers, such as flurry + testflight + crittercism, you can use this proxying trick to get out of exception handling hell. You may also want to consider the GTMStackTraceFromException function from the Google Toolbox For Mac to log a full stack trace.
Read More

Life in the information age (a response to PRISM)

Uncategorized
I apologize up front for my rambling style. I promise these first few jaunts/missives connect up at the end. A few years ago, I saw a profoundly disheartening and disturbing movie, Taken. The movie portrays a james-bond-alike saving a young abducted person from being sold to a highest bidder. In the end, the girl was predictably saved, and all evil-doers were vanquished (or at least held at bay until the inevitable sequel) - and all was right with the world. The disheartening part of the film was not the ending, but, instead, the realization that the world the movie portrayed was very real, and the ending in many cases, is not at all what the movie would have you believe. You hear urban legends of these types of things, and…
Read More