Professional iOS network programming connecting the enterprise to the iPhone® and iPad
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....
Saved in:
| Main Authors: | , , |
|---|---|
| Format: | eBook |
| Language: | English |
| Published: |
Somerset
WILEY
2012
John Wiley & Sons, Incorporated Wrox [Wrox]/John Wiley & Sons |
| Edition: | 1 |
| Subjects: | |
| ISBN: | 9781118362402, 1118362403, 9781118417164, 111841716X, 1118533852, 9781118533857, 9781118382233, 1118382234 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Table of Contents:
- Professional iOS network programming : connecting the enterprise to the iPhone® and iPad® -- About the Authors -- About the Technical Editor -- Credits -- Acknowledgments -- Contents -- Introduction -- Part I: Understanding iOS and Enterprise Networking -- Chapter 1: Introducing iOS Networking Capabilities -- Chapter 2: Designing Your Service Architecture -- Part II: HTTP Requests: The Workhorse of iOS Networking -- Chapter 3: Making Requests -- Chapter 4: Generating and Digesting Payloads -- Chapter 5: Handling Errors -- Part III: Advanced Networking Techniques -- Chapter 6: Securing Network Traffic -- Chapter 7: Optimizing Request Performance -- Chapter 8: Low-Level Networking -- Chapter 9: Testing and Manipulating Network Traffic -- Chapter 10: Using Push Notifications -- Part IV: Networking App to App -- Chapter 11: Inter-App Communication -- Chapter 12: Device-to-Device Communication with Game Kit -- Chapter 13: Ad-Hoc Networking with Bonjour -- Index.
- Intro -- Professional iOS Network Programming: Connecting the Enterprise to the iPhone® and iPad® -- Copyright -- About the Authors -- About the Technical Editor -- Credits -- Acknowledgments -- Contents -- Introduction -- Who this Book is for -- What this Book Covers -- How this Book is Structured -- What you need to use this Book -- Conventions -- Source Code -- Errata -- P2P.Wrox.Com -- Part I: Understanding iOS and Enterprise Networking -- Chapter 1: Introducing iOS Networking Capabilities -- Understanding the Networking Frameworks -- iOS Networking APIs -- NSURLConnection -- Game Kit -- Bonjour -- NSStream -- CFNetwork -- BSD Sockets -- Run Loops -- Run Loop Modes -- Summary -- Chapter 2: Designing Your Service Architecture -- Remote Façade Pattern -- Example Façade Services -- Example Façade Clients -- Service Versioning -- Example Versioned Services -- Example Client Using Versioned Services -- Service Locators -- Summary -- Part II: HTTP Requests: The Workhorse of iOS Networking -- Chapter 3: Making Requests -- Introducing HTTP -- Understanding HTTP Requests and Responses -- URL Structure -- Request Contents -- Response Contents -- High-Level iOS HTTP APIs -- Objects Common to All Request Types -- Synchronous Requests -- Queued Asynchronous Requests -- Asynchronous Requests -- Advanced HTTP Manipulation -- Using Request Methods -- Cookie Manipulation -- Advanced Headers -- Summary -- Chapter 4: Generating and Digesting Payloads -- Web Service Protocols and Styles -- Simple Object Access Protocol (SOAP) -- Representational State Transfer (REST) -- Choosing an Approach -- Payloads -- Introducing Payload Data Formats -- Digesting Response Payloads -- Generating Request Payloads -- Summary -- Chapter 5: Handling Errors -- Understanding Error Sources -- Operating System Errors -- HTTP Errors -- Application Errors
- Sending Remote Notifications -- Responding to Remote Notifications -- Understanding Notification Best Practices -- Summary -- Part IV: Networking App to App -- Chapter 11: Inter-App Communication -- URL Schemes -- Implementing a Custom URL Scheme -- Sensing the Presence of Other Apps -- Advanced Communication -- Shared Keychains -- Enterprise SSO -- Detecting Previous Installations -- Summary -- Chapter 12: Device-to-Device Communication with Game Kit -- Game Kit Basics -- Peer-to-Peer Networking -- Connecting to a Session -- Sending Data to Peers -- Client-Server Communication -- Summary -- Chapter 13: Ad-Hoc Networking with Bonjour -- Zeroconf Overview -- Addresses -- Resolution -- Discovery -- Bonjour Overview -- Publishing a Service -- Browsing for Services -- Resolving a Service -- Communicating with a Service -- Implementing Bonjour-Based Applications -- Employee Application -- Customer Application -- Summary -- Index -- Advertisement
- Rules of Thumb for Handling Errors -- Include Error Handling In the Interface Contract -- Error Statuses Lie -- Validate the Payload -- Separate Errors from Normal Business Conditions -- Always Check HTTP Status -- Always Check NSError -- Develop a Consistent Method for Handling Errors -- Always Set a Timeout -- Gracefully Handling Network Errors -- Design Pattern Description -- Command Dispatch Pattern Example -- Summary -- Part III: Advanced Networking Techniques -- Chapter 6: Securing Network Traffic -- Verifying Server Communication -- Authenticating with HTTP -- HTTP Basic, HTTP Digest, and NTLM Authentication -- Client-Certificate Authentication -- Message Integrity with Hashing and Encryption -- Hashing -- Message Authentication Codes -- Encryption -- Storing Credentials Securely on the Device -- Summary -- Chapter 7: Optimizing Request Performance -- Measuring Network Performance -- Network Bandwidth -- Network Latency -- Device Power -- Optimizing Network Operations -- Reducing Request Bandwidth -- Reducing Request Latency -- Avoid Network Requests -- Summary -- Chapter 8: Low-Level Networking -- BSD Sockets -- Configuring a Socket Server -- Connecting as a Socket Client -- CFNetwork -- NSStream -- Summary -- Chapter 9: Testing and Manipulating Network Traffic -- Observing Network Traffic -- Sniffing Hardware -- Sniffing Software -- Manipulating Network Traffic -- Setting Up Charles -- HTTP Breakpoints -- Rewrite Rules -- Simulating Real-World Network Conditions -- Summary -- Chapter 10: Using Push Notifications -- Scheduling Local Notifications -- Creating Local Notifications -- Canceling Local Notifications -- Handling the Arrival of Local Notifications -- Registering and Responding to Remote Notifications -- Configuring Remote Notifications -- Registering for Remote Notifications -- Remote Notification Payloads

