Professional iOS Network Programming

Professional iOS Network Programming is a 360 page book I co-wrote with two other exceptional iOS developers, Nathan Jones and Jack Cox, to share our collective experience writing enterprise iOS apps.

Almost every iOS app interacts with a web service in some way, even if only for Twitter or Facebook integration, however most enterprise mobility efforts heavily depend on reliable integration with web services. Whether a Fortune 500 company is in customer service, retail, finance, or consumer goods; odds are it already has many backend systems that must integrate together to provide customers with the features they expect on a mobile device. We describe integration, service architecture, and development patterns to tie these disparate services together into a smoothly functioning application.

The book covers topics like security, caching, and network testing that can apply to any networked app, but also covers more specific functionality like push notifications, GameKit, and Bonjour. Each chapter includes one or more example applications that demonstrate the chapter's topic with clear, well-commented, and easy-to-follow code.

Professional iOS Network Programming

Table of Contents

  • Introduction
  • Part 1: Understanding iOS and Enterprise Networking
    1. Introducing iOS Networking Capabilities
    2. Designing Your Service Architecture
  • Part 2: HTTP Requests: The Workhorse of iOS Networking
    1. Making Requests
    2. Generating and Digesting Payloads
    3. Handling Errors
  • Part 3: Advanced Networking Techniques
    1. Securing Network Traffic
    2. Optimizing Request Performance
    3. Low-Level Networking
    4. Testing and Manipulating Network Traffic
    5. Using Push Notifications
  • Part 4: Networking App to App
    1. Inter-App Communication
    2. Device-to-Device Communication with Game Kit
    3. Ad-Hoc Networking with Bonjour
If these topics interest you, I'd highly recommend purchasing a copy of Professional iOS Network Programming.


  • RT @aaronweihe: Tinder's iOS repo has been migrated to use Bazel. Here's the story behind it:… 15 days ago
  • RT @beccadax: @fbartho @grynspan os_unfair_lock was designed for ObjC and is super-awkward to use from Swift because in Swift, the `&` operator is allowed to create a temporary copy, and locking a *copy* of a lock is useless. You have to allocate and manipulate it through UnsafePointers to prevent copying. 19 days ago
  • RT @SmileyKeith: As promised it looks like ld64 is ~2x as fast for our project in Xcode 14! lld is still ~2x faster for us, but this is a great improvement for everyone!… 21 days ago