Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Professional iOS Network Programming: Connecting the Enterprise to the iPhone and iPad
PREMIUM
Số trang
364
Kích thước
13.1 MB
Định dạng
PDF
Lượt xem
969

Professional iOS Network Programming: Connecting the Enterprise to the iPhone and iPad

Nội dung xem thử

Mô tả chi tiết

www.it-ebooks.info

ffirs.indd i 13/09/12 2:46 PM

www.it-ebooks.info

PROFESSIONAL

IOS NETWORK PROGRAMMING

INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

PART I UNDERSTANDING IOS AND ENTERPRISE NETWORKING

CHAPTER 1 Introducing iOS Networking Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . 3

CHAPTER 2 Designing Your Service Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

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

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

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

ffirs.indd i 13/09/12 2:46 PM

www.it-ebooks.info

ffirs.indd ii 13/09/12 2:46 PM

www.it-ebooks.info

PROFESSIONAL

iOS Network Programming

ffirs.indd iii 13/09/12 2:46 PM

www.it-ebooks.info

ffirs.indd iv 13/09/12 2:46 PM

www.it-ebooks.info

PROFESSIONAL

iOS Network Programming

CONNECTING THE ENTERPRISE

TO THE IPHONE® AND IPAD®

Jack Cox

Nathan Jones

John Szumski

ffirs.indd v 13/09/12 2:46 PM

www.it-ebooks.info

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.

ffirs.indd vi 13/09/12 2:46 PM

www.it-ebooks.info

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.

ffirs.indd vii 13/09/12 2:46 PM

www.it-ebooks.info

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.

ffirs.indd viii 13/09/12 2:46 PM

www.it-ebooks.info

EXECUTIVE EDITOR

Carol Long

PROJECT EDITOR

Victoria Swider

TECHNICAL EDITOR

Jonathan Tang

PRODUCTION EDITOR

Kathleen Wisor

COPY EDITOR

San Dee Phillips

EDITORIAL MANAGER

Mary Beth Wakefi eld

FREELANCER EDITORIAL MANAGER

Rosemarie Graham

ASSOCIATE DIRECTOR OF MARKETING

David Mayhew

MARKETING MANAGER

Ashley Zurcher

BUSINESS MANAGER

Amy Knies

PRODUCTION MANAGER

Tim Tate

VICE PRESIDENT AND EXECUTIVE GROUP

PUBLISHER

Richard Swadley

VICE PRESIDENT AND EXECUTIVE

PUBLISHER

Neil Edde

ASSOCIATE PUBLISHER

Jim Minatel

PROJECT COORDINATOR, COVER

Katie Crocker

PROOFREADER

Nancy Carrasco

INDEXER

Johnna VanHoose Dinse

COVER DESIGNER

Ryan Sneed

COVER IMAGE

© pagadesign/iStockPhoto

CREDITS

ffirs.indd ix 13/09/12 2:46 PM

www.it-ebooks.info

ffirs.indd x 13/09/12 2:46 PM

www.it-ebooks.info

ACKNOWLEDGMENTS

I WANT TO THANK the principles, management, and coworkers at CapTech Ventures, especially

Vinnie Schoenfelder, for encouraging and supporting our effort to write this book. I want to extend

special thanks to Nathan Jones and John Szumski for being willing and faithful in this adventure to

complete our fi rst book. On behalf of Nathan, John, and myself, I want to thank Carol Long and

Victoria Swider at Wiley for tolerating and answering all our newbie questions.

To my wife and family, I extend thanks without number for putting up with all of the nights and

weekends of writing and the associated crankiness. Thank you for allowing me to fulfi ll this dream.

And most important, I extend thanks and praise to my savior, Jesus Christ, who, through His

grace and mercy, has blessed me with so much that I do not deserve. Without Him, I would be hope￾less and useless.

—Jack Cox

I WOULD LIKE TO THANK my lovely wife, Jennifer, and son, Bryson, for their continued support

and patience while working on this book. There are times when I saw more of Xcode than I saw of

you two, and those late nights and weekends weren’t easy on you guys. That didn’t go unnoticed,

thank you. I would also like to thank my parents for encouragement throughout the process, and

my dad, specifi cally, for teaching me to write my fi rst program. That planted the seed. I still have

that fl oppy disk, but I don’t think I have a drive to read it.

—Nathan Jones

I WOULD LIKE TO THANK my beautiful fi ancée, Caroline, for her understanding and support during

many late nights spent writing or editing. I also appreciate my extended family’s encouragement

through the entire publishing process.

—John Szumski

ffirs.indd xi 13/09/12 2:46 PM

www.it-ebooks.info

ffirs.indd xii 13/09/12 2:46 PM

www.it-ebooks.info

CONTENTS

INTRODUCTION xix

PART I: UNDERSTANDING IOS AND ENTERPRISE NETWORKING

CHAPTER 1: INTRODUCING IOS NETWORKING CAPABILITIES 3

Understanding the Networking Frameworks 3

iOS Networking APIs 4

NSURLConnection 5

Game Kit 5

Bonjour 5

NSStream 6

CFNetwork 6

BSD Sockets 6

Run Loops 7

Run Loop Modes 8

Summary 8

CHAPTER 2: DESIGNING YOUR SERVICE ARCHITECTURE 9

Remote Façade Pattern 10

Example Façade Services 12

Example Façade Clients 15

Service Versioning 17

Example Versioned Services 18

Example Client Using Versioned Services 19

Service Locators 20

Summary 24

PART II: HTTP REQUESTS: THE WORKHORSE OF IOS NETWORKING

CHAPTER 3: MAKING REQUESTS 27

Introducing HTTP 28

Understanding HTTP Requests and Responses 29

URL Structure 30

Request Contents 31

Response Contents 33

ftoc.indd xiii 12/09/12 5:06 PM

www.it-ebooks.info

Tải ngay đi em, còn do dự, trời tối mất!