Table Of Contentwww.it-ebooks.info
www.it-ebooks.info
ffffiirrss..iinndddd ii 1133//0099//1122 22::4466 PPMM
PROFESSIONAL
IOS NETWORK PROGRAMMING
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
(cid:2) PART I UNDERSTANDING IOS AND ENTERPRISE NETWORKING
CHAPTER 1 Introducing iOS Networking Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . 3
CHAPTER 2 Designing Your Service Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
(cid:2) PART II HTTP REQUESTS: THE WORKHORSE OF IOS NETWORKING
CHAPTER 3 Making Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
CHAPTER 4 Generating and Digesting Payloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
CHAPTER 5 Handling Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
(cid:2) PART III ADVANCED NETWORKING TECHNIQUES
CHAPTER 6 Securing Network Traffi c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
CHAPTER 7 Optimizing Request Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
CHAPTER 8 Low-Level Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
CHAPTER 9 Testing and Manipulating Network Traffi c . . . . . . . . . . . . . . . . . . . . . . . . .191
CHAPTER 10 Using Push Notifi cations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
(cid:2) PART IV NETWORKING APP TO APP
CHAPTER 11 Inter-App Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
CHAPTER 12 Device-to-Device Communication with Game Kit . . . . . . . . . . . . . . . . .267
CHAPTER 13 Ad-Hoc Networking with Bonjour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
www.it-ebooks.info
ffffiirrss..iinndddd ii 1133//0099//1122 22::4466 PPMM
www.it-ebooks.info
ffffiirrss..iinndddd iiii 1133//0099//1122 22::4466 PPMM
PROFESSIONAL
iOS Network Programming
www.it-ebooks.info
ffffiirrss..iinndddd iiiiii 1133//0099//1122 22::4466 PPMM
www.it-ebooks.info
ffffiirrss..iinndddd iivv 1133//0099//1122 22::4466 PPMM
PROFESSIONAL
iOS Network Programming
CONNECTING THE ENTERPRISE
TO THE IPHONE® AND IPAD®
Jack Cox
Nathan Jones
John Szumski
www.it-ebooks.info
ffffiirrss..iinndddd vv 1133//0099//1122 22::4466 PPMM
Professional iOS Network Programming: Connecting the Enterprise to the iPhone® and iPad®
Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2012 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-36240-2
ISBN: 978-1-118-38223-3 (ebk)
ISBN: 978-1-118-41716-4 (ebk)
ISBN: 978-1-118-53385-7 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108
of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201)
748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including
without limitation warranties of fi tness for a particular purpose. No warranty may be created or extended by sales or pro-
motional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold
with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services.
If professional assistance is required, the services of a competent professional person should be sought. Neither the pub-
lisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to
in this work as a citation and/or a potential source of further information does not mean that the author or the publisher
endorses the information the organization or Web site may provide or recommendations it may make. Further, readers
should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was
written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with
standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to
media such as a CD or DVD that is not included in the version you purchased, you may download this material at
http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2012948655
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress are
trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other coun-
tries, and may not be used without written permission. iPhone and iPad are registered trademarks of Apple, Inc. All other
trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or
vendor mentioned in this book.
www.it-ebooks.info
ffffiirrss..iinndddd vvii 1133//0099//1122 22::4466 PPMM
ABOUT THE AUTHORS
JACK COX is a software developer, a systems architect, and the director at CapTech
Ventures, Inc., where he is responsible for the fi rm’s mobile software practice. He
has 30 years of experience in developing software for businesses of all sizes. He has
been involved in three startups, holds multiple patents, and frequently presents to
professional groups. He has a degree in computer science from Taylor University in
Upland, Indiana. Jack lives in Richmond, Virginia, with his wife and children. You
can get in touch with Jack on Twitter @jcox_mobile.
NATHAN JONES is a software engineer with expertise in iOS and experience in
mobile web technologies. He began his career in enterprise software consulting
and started exploring mobile development when Apple announced the capability
to develop third-party apps for the iPhone. He graduated with a bachelor of
science in business information technology with a concentration on decision
support systems from Virginia Polytechnic Institute and State University in
Blacksburg, Virginia. He currently resides in Richmond, Virginia with his wife,
Jennifer, and son, Bryson. When he isn’t working, writing, or playing with his
son, he enjoys golfi ng and is an avid runner. You can get in touch with Nathan on Twitter @
nathanhjones.
JOHN SZUMSKI is a software engineer and mobile consultant with expertise in
the iOS, Android, and mobile web platforms. He advises Fortune 500 companies
on user experience and technical design. He graduated with a bachelor of
science in computer science (with distinction) from the University of Virginia in
Charlottesville, Virginia. John lives with his fi ancée in Richmond, Virginia. You
can get in touch with John on Twitter @jszumski.
www.it-ebooks.info
ffffiirrss..iinndddd vviiii 1133//0099//1122 22::4466 PPMM
ABOUT THE TECHNICAL EDITOR
JONATHAN TANG is a senior developer specializing in mobile applications at
CapTech Consulting. He has more than 10 years of development experience,
including programming touchscreen interfaces, medical devices, and iOS mobile
applications. Prior to CapTech, John worked as the primary software engineer at a
startup company that specializes in medical robotics. John received a bachelor of
science in biomedical engineering from Johns Hopkins University and a master
of science in electrical engineering from George Washington University.
www.it-ebooks.info
ffffiirrss..iinndddd vviiiiii 1133//0099//1122 22::4466 PPMM