Skip to main content

Posts

Showing posts from August, 2012

Quick and easy debugging of unrecognized selector sent to instance

It’s happened to all of us; we’re merrily trucking down the development road, building and testing our app when all of sudden everything grinds to a screeching halt and the console tells us something like: -[MoneyWellAppDelegate doThatThingYouDo]: unrecognized selector sent to instance 0xa275230 The good news is there is a better way. All you need to do is pop over to the Breakpoint Navigator, click the + button at the bottom and choose Add Symbolic Breakpoint… CORE FRUITION

CocoaHTTPServer

CocoaHTTPServer is a small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. Sometimes developers need an embedded HTTP server in their app. Perhaps it's a server application with remote monitoring. Or perhaps it's a desktop application using HTTP for the communication backend. Or perhaps it's an iOS app providing over-the-air access to documents. Whatever your reason, CocoaHTTPServer can get the job done. It provides: Built in support for bonjour broadcasting IPv4 and IPv6 support Asynchronous networking using GCD and standard sockets Password protection support SSL/TLS encryption support Extremely FAST and memory efficient Extremely scalable (built entirely upon GCD) Heavily commented code Very easily extensible WebDAV is supported too! GitHub

Google Drive versus Dropbox

MacWorld: Online Storage Face-Off: Google Drive vs. Dropbox

Sequel Pro

Best Looking MySQL Cocoa App. Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Sequel Pro

Method swizzling with Objective C

#import  objc/runtime.h #import objc/message.h void MethodSwizzle(Class c, SEL orig, SEL new) {     Method origMethod = class_getInstanceMethod(c, orig);     Method newMethod = class_getInstanceMethod(c, new);     if(class_addMethod(c, orig, method_getImplementation(newMethod), method_getTypeEncoding(newMethod)))         class_replaceMethod(c, new, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));     else         method_exchangeImplementations(origMethod, newMethod); }