Synopses & Reviews
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, youll learn how to use Xcode, Objective-C, and other Apple development tools within the confines of enterprise software methodologies. Dont be deterred by Apples development philosophy. If youre familiar with Xcode, this guide will help you build and launch enterprise iOS apps successfully.
- Get Xcodes 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 Apples distribution limitations
For business application developers tasked with developing within anApple software environment, this volume on enterprise development using iOS provides a practical primer on the hazards of creatingbusiness software within a traditionally non-business development environment. Beginning with an overview of common pitfalls of iOSbusiness development, the work covers all common areas of application development including automation, testing, distribution,and maintenance, relating them to specific solutions within the iOS operating system environment. This volume assumes a working knowledgegeneral application programming for iOS. Chapters include illustrations and code examples and access to additional online resources is provided.Annotation ©2014 Book News, Inc., Portland, OR (booknews.com)
iOS development is a real pleasure, that is until you have to try and integrate the freewheeling development style of iOS with the realities of enterprise software deployment. This book leads you through the steps needed to create successful applications in the enterprise, both for internal consumption and sale to end users. You'll learn the pitfalls of concurrent project development, how to interface Objective-C applications to legacy backend systems, how to create unit tests and code metrics, how to implement automated XCode builds, and more. The Apple App Store is a great marketplace, but do you know how it can bite enterprise developers in the rear? How do you maintain iOS applications for the long term? If you are developing iOS applications in a corporate setting, you need to read this book.
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 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.
Table of Contents
Preface; 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; Acknowledgments; 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;