If you plan to develop iOS applications in a corporate setting—for internal consumption or for sale to end users—you need to read this book. Veteran developer James Turner shares best practices and lessons learned from his recent on-the-ground experience planning, building, and shipping an iOS application in an enterprise environment.
With lots of examples and solid advice, you’ll learn how to use Xcode, Objective-C, and other Apple development tools within the confines of enterprise software methodologies. Don’t be deterred by Apple’s development philosophy. If you’re familiar with Xcode, this guide will help you build and launch enterprise iOS apps successfully.
Get Xcode’s single-developer model to work in a concurrent development environment
Integrate Xcode builds into tools such as Ant and Hudson
Use open source libraries to connect iOS with SOAP and other backend services
Set up a framework to test iOS apps for code coverage and CCN metrics
Manage the legal, marketing, and production issues involved when interacting with iTunes Connect
Meet iTunes’ requirements for provisioning and distributing your app
Provide long-term support by sidestepping Apple’s distribution limitations
Chapter 1 Enterprise iOS Applications
Apple Developers—An Army of One
Build Automation Is a Bit of a Challenge
Objective-C Doesn’t Play Well with Others
Code Coverage Is for Weenies
iTunes Connect Is a Great Way to Keep Your Legal Staff Employed
You Can Have Any Style of Distribution, as Long as it’s iTunes
The Road Is Long and Winding
A Few Caveats
Chapter 2 Concurrent Development with iOS
A Little Ditty ‘bout Tom and Diane
More Merge Mayhem
Workspaces and Static Libraries
Let’s Be Careful Out There
Chapter 3 Automating iOS Builds
Introducing Hudson
Breaking the News to Your IT Department
Provisioning Your Build Machine
Installing Hudson
Creating the Build Job
Creating an Ant Build File
Testing xcodebuild
Integrating xcodebuild into an Ant Script
Calling the Ant Script from Hudson
Getting Fancy with Hudson
Chapter 4 Integrating iOS Applications into Enterprise Services
The Rules of the Road
First Things First: Getting a Connection
Using NSURLConnection—The BuggyWhip News Network
Something a Little More Practical—Parsing XML Response
James Turner is a freelance journalist and developer who has most recently spent more than a year developing an enterprise iOS application for a major software ISV. He is a contributing editor for oreilly.com, and has written for publications as diverse as the Christian Science Monitor, Processor, Linuxworld Magazine, Developer.com and WIRED Magazine. In addition to his shorter writing, he has also written two books on Java Web Development ("MySQL & JSP Web Applications" and "Struts: Kick Start"). He is the former Senior Editor of LinuxWorld Magazine and Senior Contributing Editor for Linux Today. He has also spent more than 25 years as a software engineer and system administrator, and currently works as a Senior Software Engineer for a company in the Boston area. His past employers have included the MIT Artificial Intelligence Laboratory, Xerox AI Systems, Solbourne Computer, Interleaf, the Christian Science Monitor and contracting positions at BBN and Fidelity Investments. He is a committer on the Apache Jakarta Struts project and served as the Struts 1.1B3 release manager. He lives in a 200 year old Colonial farmhouse in Derry, NH along with his wife and son. He is an open water diver and instrument-rated private pilot, as well as an avid science fiction fan.