Mobile

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

Designing mobile APIs – dynamic content

On mobile devices native UIs offer superior responsiveness and performance but web views offer flexible layouts and data driven content. How can we combine the strengths of both to produce a highly responsive UI which can display dynamic data from … Continue reading

Posted in Mobile | Tagged , | Leave a comment

Designing mobile APIs – error handling

While designing an api I need to provide reliable error responses to both protocol and application level errors. Here I’ll consider any error response generated outside our application stack to be a protocol error while those errors returned from my … Continue reading

Posted in Mobile | Tagged , | Leave a comment

Designing mobile APIs – basic behaviors

As Rails developers we design APIs on a regular basis: routes for browsers to interact with a web app, JSON apis and routes for client side javascript to build dynamic pages, payloads queued for background processing on a server, and … Continue reading

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

Getting “Test”-y in iOS Apps: Test-Driven Development and Automated Deployment

View more presentations from rudyjahchan Recently, Jonah and I have been exploring test-driven development and automated deployment on the iOS platform. As we were both attending iOSDevCamp 2011, we decided to give a lightning talk summarizing our discoveries and to … Continue reading

Posted in Mobile, Process | 7 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

Running Xcode 4 unit tests from the command line

Command line builds for Xcode 4 projects are a good first step but I really want to get my project’s tests running on a continuous integration server again. Since “test” isn’t a valid build action to pass to xcodebuild I’ve … Continue reading

Posted in Mobile | Tagged , , , | 14 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