Developing Enterprise iOS Applications: iPhone and iPad Apps for Companies and Organizations

Developing Enterprise iOS Applications: iPhone and iPad Apps for Companies and Organizations

by James Turner


View All Available Formats & Editions
Members save with free shipping everyday! 
See details


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

Product Details

ISBN-13: 9781449311483
Publisher: O'Reilly Media, Incorporated
Publication date: 01/03/2012
Pages: 116
Product dimensions: 6.80(w) x 9.10(h) x 0.40(d)

About the Author

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, and has written for publications as diverse as the Christian Science Monitor, Processor, Linuxworld Magazine, 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.

Table of Contents

Who This Book Is For;
How This Book Is Organized;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Chapter 1: Enterprise iOS Applications;
1.1 Apple Developers—An Army of One;
1.2 Build Automation Is a Bit of a Challenge;
1.3 Objective-C Doesn’t Play Well with Others;
1.4 Code Coverage Is for Weenies;
1.5 iTunes Connect Is a Great Way to Keep Your Legal Staff Employed;
1.6 You Can Have Any Style of Distribution, as Long as it’s iTunes;
1.7 The Road Is Long and Winding;
1.8 A Few Caveats;
Chapter 2: Concurrent Development with iOS;
2.1 A Little Ditty ‘bout Tom and Diane;
2.2 More Merge Mayhem;
2.3 Workspaces and Static Libraries;
2.4 Let’s Be Careful Out There;
Chapter 3: Automating iOS Builds;
3.1 Introducing Hudson;
3.2 Breaking the News to Your IT Department;
3.3 Provisioning Your Build Machine;
3.4 Installing Hudson;
3.5 Creating the Build Job;
3.6 Creating an Ant Build File;
3.7 Testing xcodebuild;
3.8 Integrating xcodebuild into an Ant Script;
3.9 Calling the Ant Script from Hudson;
3.10 Getting Fancy with Hudson;
Chapter 4: Integrating iOS Applications into Enterprise Services;
4.1 The Rules of the Road;
4.2 First Things First: Getting a Connection;
4.3 Using NSURLConnection—The BuggyWhip News Network;
4.4 Something a Little More Practical—Parsing XML Response;
4.5 Generating XML for Submission to Services;
4.6 Once More, with JSON;
4.7 SOAP on a Rope;
4.8 A Final Caution;
Chapter 5: Testing Enterprise iOS Applications;
5.1 Unit Testing iOS Applications;
5.2 Setting Up an OCUnit Target;
5.3 Generating Code Coverage Metrics;
5.4 Generating Code Complexity Metrics;
5.5 Creating UI Tests (The Old and Painful Way);
5.6 UI Testing Using OCUnit;
Chapter 6: Enterprises and the iTunes App Store;
6.1 Things to Start Worrying About Immediately;
6.2 Things to Worry About a Month Before Launch;
6.3 Things to Worry About Two Weeks Before Launch;
6.4 Things to Worry About One Week Before Launch;
6.5 Things to Worry About on Launch Day;
6.6 Things to Worry About in the Month After Launch;
Chapter 7: Distributing Enterprise iOS Applications;
7.1 Testing Applications with Ad Hoc Profiles;
7.2 A Better Mousetrap for Ad Hoc Infrastructure;
7.3 Enterprise Distribution;
7.4 The Long Haul;
Chapter 8: Long Term Maintenance of iOS Enterprise Applications;
8.1 Option 1: The Perpetually Compatible Application;
8.2 (Non-)Option 2: The Perpetually Compatible Server;
8.3 Option 3: App Store Version Roulette;
8.4 Option 4: Exotic Distribution Methods;
8.5 Option 5: The Swiss Army App;
8.6 Welcome to the Club, We Have Jackets;

Customer Reviews