Professional IOS Network Programming
Wrox Press (Verlag)
978-1-118-36240-2 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Learn to develop iPhone and iPad applications for networked enterprise environments The iPhone and iPad have made a powerful impact on the business world. Developers creating iOS apps for the enterprise face unique challenges involving networking, system integration, security, and device management. This Wrox guide provides everything you need to know to write iOS apps that integrate with enterprise network resources, providing options for networking iOS devices to enterprise systems and to each other. * Offers a complete compendium of methods and techniques for networked communication between iOS applications and other platforms and devices * Includes instruction on incorporating synchronous and asynchronous HTTP requests, security, communication issues, and more * Covers payload handling, network security, GameKit and Bonjour communications, and low-level network communications Professional iOS Network Programming focuses on the networking aspects of iOS and its relationship to remote data sources, offering a truly unique approach.
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 Facade Pattern 10 Example Facade Services 12 Example Facade 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 High-Level iOS HTTP APIs 35 Objects Common to All Request Types 35 Synchronous Requests 39 Queued Asynchronous Requests 42 Asynchronous Requests 45 Advanced HTTP Manipulation 53 Using Request Methods 53 Cookie Manipulation 54 Advanced Headers 60 Summary 63 CHAPTER 4: GENERATING AND DIGESTING PAYLOADS 65 Web Service Protocols and Styles 66 Simple Object Access Protocol (SOAP) 66 Representational State Transfer (REST) 68 Choosing an Approach 69 Payloads 70 Introducing Payload Data Formats 70 Digesting Response Payloads 73 Generating Request Payloads 86 Summary 92 CHAPTER 5: HANDLING ERRORS 93 Understanding Error Sources 93 Operating System Errors 95 HTTP Errors 101 Application Errors 102 Rules of Thumb for Handling Errors 103 Include Error Handling In the Interface Contract 103 Error Statuses Lie 104 Validate the Payload 104 Separate Errors from Normal Business Conditions 104 Always Check HTTP Status 105 Always Check NSError 105 Develop a Consistent Method for Handling Errors 105 Always Set a Timeout 105 Gracefully Handling Network Errors 105 Design Pattern Description 106 Command Dispatch Pattern Example 111 Summary 116 PART III: ADVANCED NETWORKING TECHNIQUES CHAPTER 6: SECURING NETWORK TRAFFIC 119 Verifying Server Communication 120 Authenticating with HTTP 124 HTTP Basic, HTTP Digest, and NTLM Authentication 125 Client-Certifi cate Authentication 127 Message Integrity with Hashing and Encryption 131 Hashing 132 Message Authentication Codes 136 Encryption 139 Storing Credentials Securely on the Device 151 Summary 155 CHAPTER 7: OPTIMIZING REQUEST PERFORMANCE 157 Measuring Network Performance 158 Network Bandwidth 158 Network Latency 159 Device Power 160 Optimizing Network Operations 161 Reducing Request Bandwidth 161 Reducing Request Latency 168 Avoid Network Requests 170 Summary 173 CHAPTER 8: LOW-LEVEL NETWORKING 175 BSD Sockets 176 Configuring a Socket Server 177 Connecting as a Socket Client 178 CFNetwork 182 NSStream 186 Summary 190 CHAPTER 9: TESTING AND MANIPULATING NETWORK TRAFFIC 191 Observing Network Traffic 192 Sniffing Hardware 192 Sniffing Software 193 Manipulating Network Traffic 200 Setting Up Charles 202 HTTP Breakpoints 205 Rewrite Rules 207 Simulating Real-World Network Conditions 209 Summary 211 CHAPTER 10: USING PUSH NOTIFICATIONS 213 Scheduling Local Notifications 214 Creating Local Notifications 214 Canceling Local Notifications 218 Handling the Arrival of Local Notifications 219 Registering and Responding to Remote Notifications 223 Configuring Remote Notifications 224 Registering for Remote Notifications 229 Remote Notification Payloads 234 Sending Remote Notifications 236 Responding to Remote Notifications 240 Understanding Notification Best Practices 243 Summary 244 PART IV: NETWORKING APP TO APP CHAPTER 11: INTER-APP COMMUNICATION 247 URL Schemes 248 Implementing a Custom URL Scheme 248 Sensing the Presence of Other Apps 251 Advanced Communication 252 Shared Keychains 257 Enterprise SSO 257 Detecting Previous Installations 264 Summary 266 CHAPTER 12: DEVICE-TO-DEVICE COMMUNICATION WITH GAME KIT 267 Game Kit Basics 268 Peer-to-Peer Networking 271 Connecting to a Session 272 Sending Data to Peers 274 Client-Server Communication 279 Summary 280 CHAPTER 13: AD-HOC NETWORKING WITH BONJOUR 281 Zeroconf Overview 282 Addresses 282 Resolution 283 Discovery 283 Bonjour Overview 284 Publishing a Service 284 Browsing for Services 290 Resolving a Service 293 Communicating with a Service 295 Implementing Bonjour-Based Applications 299 Employee Application 301 Customer Application 309 Summary 317 INDEX 319
Sprache | englisch |
---|---|
Maße | 187 x 230 mm |
Gewicht | 610 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Betriebssysteme / Server |
Informatik ► Programmiersprachen / -werkzeuge ► Mac / Cocoa Programmierung | |
Informatik ► Software Entwicklung ► Mobile- / App-Entwicklung | |
Informatik ► Weitere Themen ► Hardware | |
Informatik ► Weitere Themen ► Smartphones / Tablets | |
ISBN-10 | 1-118-36240-3 / 1118362403 |
ISBN-13 | 978-1-118-36240-2 / 9781118362402 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich