Tag Archives: objective-c

Monkey-Patching iOS with Objective-C Categories Part I: Simple Extensions and Overrides

Have you ever wanted to introduce new functionality to base classes in the iOS SDK? Or just make them work a little bit differently? In order to do so, you must enter the wild and dangerous world of monkey-patching. Monkey-patching … Continue reading

Posted in Mobile | Tagged , , | 5 Comments

Managing iOS Configurations per Environment in Xcode 4

At Carbon Five we usually have 3 – 4 environments our iOS applications will run against: development, acceptance, staging and production. Often, the property values that are unique across environments are URLs to APIs that we are integrating with. There … Continue reading

Posted in Mobile | Tagged , , , | 6 Comments

Debug logging with Xcode 4 breakpoints

NSLog calls do not belong in release builds. Logging is slow and the performance impact of log statements on a device can be considerable. Logging is also noisy, it can obscure useful debugging information and may leak information you would … Continue reading

Posted in Mobile | Tagged , , , , | 10 Comments

Automated ad hoc builds using Xcode 4

I’ve previously discussed Continuous Integration for iPhone Projects in TeamCity using Xcode 3 and Building Xcode 4 Projects from the Command Line. Now I’ll tie those together and use TeamCity to automatically create ad hoc builds I can install over … Continue reading

Posted in Mobile | Tagged , , , , , | 6 Comments

Building Xcode 4 projects from the command line

The Xcode 4 developer tools introduced some changes to the xcodebuild command line tool. Instead of specifying a project and target developers can now provide a workspace and scheme to build.

Posted in Mobile | Tagged , , , , | 8 Comments

Using Open Source Static Libraries in Xcode 4

Xcode 4.0.1 allows us to more easily create and use third party libraries in iOS projects. I think the process is still more complicated than it needs to be. Xcode’s documentation suggests that it should automatically detect implicit dependencies and … Continue reading

Posted in Mobile | Tagged , , | 56 Comments

Abusing UIViewControllers

UIViewControllers are a fundamental building block of most iOS applications. Unfortunately many developers seem to use them in unintended and unsupported ways which leaves their apps vulnerable to bugs, rejections, unpredictable behavior under new iOS releases, and with controllers which … Continue reading

Posted in Mobile | Tagged , , | 55 Comments

iPhone Distributed Computing Fallacy #7: transport cost is zero

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. … Continue reading

Posted in Mobile | Tagged , , , | Leave a comment

iPhone Distributed Computing Fallacy #5: topology doesn’t change

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. … Continue reading

Posted in Mobile | Tagged , , , | Leave a comment

iPhone Distributed Computing Fallacy #4: the network is secure

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. … Continue reading

Posted in Mobile | Tagged , , , | Leave a comment