John Szumski
Mar 07 2013
iOS Property Validation Built on KVC
by John Szumski with Nicholas Cipollina
Validation is always necessary when accepting input directly from users or remote servers, however it can quickly consume valuable development time to get it right. This post describes a pattern that builds on the foundations of Key-Value Coding (KVC) to automatically perform standard validation and also provides a framework for more complex processing. We will begin with a high-level overview of standard KVC and some common pitfalls, then describe our validation pattern and walk you through an example app demonstrating its benefits. If you'd like to skip right to the sample code, click here.
Tagged: iOS, json, key-value coding, kvc, mobile, validation, web services
Nov 05 2012
iOS 6 Tutorial Series: User Data Isolation
by John Szumski
Apple has always been cautious about exposing private information about its users to app developers or websites, however its approach prior to iOS 6 was piecemeal and incomplete. For example, location data provided by CoreLocation has always required user permission; but calendar access only had rudimentary protection. With the release of iOS 6, Apple has closed the privacy gap while preserving the relationship with developers and advertisers wherever possible. Developers can explain why an app needs certain privacy-related features when posting a new app version by providing a detailed description of how and why that data is used. Five different types of user data are now isolated from developers until explicit permission is granted: device location, contacts, calendars, reminders, and photos. It is especially beneficial for users to upgrade to the new OS because this protection is enabled for all apps without requiring a new version or special recompilation.
Tagged: data isolation, iOS, iOS 6, mobile, Privacy
Nov 09 2011
Getting Started with UIMenuController in iOS 5
by John Szumski
When Apple added cut/copy/paste support in iOS 3.0, it also provided developers the ability to customize the popover menu via UIMenuController. Unfortunately, that initial implementation required non-trivial preparations by developers just to change the menu:
Tagged: iOS, iOS 5.0, mobile, UIMenuController
Oct 27 2011
Specialized iOS Performance Testing with Lion's Network Link Conditioner
by John Szumski
Every iOS app should be thoroughly tested in a variety of network conditions, from a high-bandwidth WiFi connection down to a data connection with a single measly bar of Edge or GPRS coverage. Finding a good connection is usually the easiest, you're almost guaranteed to have one at work or home, but reliably testing an intermittent or poor connection is much harder. The obvious way to do this is to take note of coverage dead spots as you go about your day and return to those locations to test the app, but that can be time consuming and unreliable. However, if you have Max OS X 10.7 you can simulate any network connection without even leaving your desk.

Aug 12 2011
Performance Tuning on Older iOS Devices
by John Szumski
The hardware capabilities of iOS devices have improved dramatically in the two most recent generations, which has helped fuel the growth of increasingly complex apps featuring augmented reality and photorealistic gaming. While such advances are great for the iOS platform, it is important for developers to consider older generations of iPhones and iPod touches that are still a significant portion of the installed base. This post will cover some important perfomance tweaks to improve the user experience on these slower devices.
Tagged: Instruments, iOS, iPhone SDK, mobile, Performance Tuning
Categories
Popular Tags
Disclaimer
The words and opinions expressed here are those of each article's respective author, and do not necessarily represent the views of CapTech Ventures.