Updated Course: Networking with URLSession

Audrey Tam

We’re happy to announce that our 16th new course since WWDC is now available: Networking with URLSession!

In this 13-part course for intermediate to advanced iOS developers, you’ll take a deep dive into adding networking into your iOS apps through URLSession.

You’ll start with the basics, like using URLSession to GET and POST data to a web server, how to process JSON, and how to download large amounts of data in the background.

Then you’ll move onto more advanced topics like cookies, authentication, App Transport Security, unit testing, and even how to properly architect network-based apps.

We previously had a 7-part course on Networking with NSURLSession, but this 13-part course represents a huge upgrade, with 6 new videos, and much more in-depth coverage of the topic. By the time you have done this course, you will truly understand all the ins-and-outs of networking in iOS.

In addition, this course is now fully up-to-date for iOS 10, Xcode 8, and Swift 3. Let’s take a look at what’s inside.

URLSession tutorial part 1

Part 1: Introduction. Find out what’s covered in our video course Networking with URLSession.

URLSession tutorial part 2

Part 2: HTTP 101. Learn some HTTP basics to make the most of URLSession, and discover the easy way to create URL objects from Strings.

URLSession Tutorial part 3

Part 3: URLSession. The URLSession API has many moving parts: learn about URLSessionConfigurations, URLSessionTasks and delegates, and how they fit together.

URLSession Tutorial Part 4

Part 4: URLSession Cookbook 1. Learn about REST and JSON, then create a URLSession data task that makes a GET request on a REST API, and parses the JSON URLResponse.

URLSession Tutorial part 5

Part 5: URLSession Cookbook 2. Learn about URLRequest and HTTP headers, then create a URLSessionDataTask to POST to a REST API. Also build an Alamofire-inspired PostRouter to create URLRequests.

URLSession Tutorial part 6

Part 6: Download & Upload Task. Learn about URLSessionDownloadTask and URLSessionUploadTask to save results to a file, or upload a data object or a file.

URLSession Tutorial part 7

Part 7: Background Sessions. Download and upload tasks can run in a background session. Find out how the system handles this, and learn some advice and tips for long-running tasks.

URLSession Tutorial part 8

Part 8: Authentication. Learn how to handle authentication and cookies.

URLSession Tutorial part 9

Part 9: ATS. Learn what your app needs to do, to support Apple’s requirement for App Transport Security.

URLSession Tutorial part 10

Part 10: OperationQueue. URLSession is an OperationQueue, and delegate and completion methods run on another OperationQueue: learn how to customize the delegate queue.

URLSession Tutorial part 11

Part 11: Architecture. MVC shouldn’t mean Massive View Controller: learn some ways to move networking code out of the view controller, and how to wrap a session task in an Operation.

URLSession Tutorial part 12

Part 12: Testing & Metrics. Writing unit tests is A Good Thing: learn how to test asynchronous network code. And find out how to access URLSessionTaskMetrics transaction data.

URLSession Tutorial part 13

Part 13: Conclusion. Review what you’ve learned in this video course, and get a TODO list for discussions with your back-end server team.

Where To Go From Here?

Want to check out the course? You can watch the introduction for free!

The rest of the course is for raywenderlich.com subscribers only. Here’s how you can get access:

  • If you are a raywenderlich.com subscriber: The entire course is complete and available today. You can check out the first part here.
  • If you are not a subscriber yet: What are you waiting for? Subscribe now to get access to our updated Networking with URLSession course, and our entire catalog of over 500 videos.

There’s much more in store for raywenderlich.com subscribers – if you’re curious, you can check out our full schedule of upcoming courses.

I hope you enjoy our new course, and stay tuned for many more new Swift 3 courses and updates to come!

Audrey Tam

Audrey Tam retired at the end of 2012 from a 25-year career as a computer science academic. Her teaching included Pascal, C/C++, Java, Java web services, web app development in php and mysql, user interface design and evaluation, and iOS programming. Before moving to Australia, she worked on Fortran and PL/1 simulation software at IBM's development lab in Silicon Valley. Audrey now teaches short courses in iOS app development to non-programmers, and attends nearly all Melbourne Cocoaheads monthly meetings.

Other Items of Interest

Big Book SaleAll raywenderlich.com iOS 11 books on sale for a limited time!

raywenderlich.com Weekly

Sign up to receive the latest tutorials from raywenderlich.com each week, and receive a free epic-length tutorial as a bonus!

Advertise with Us!

PragmaConf 2016 Come check out Alt U

Our Books

Our Team

Video Team

... 19 total!

iOS Team

... 73 total!

Android Team

... 20 total!

Unity Team

... 10 total!

Articles Team

... 15 total!

Resident Authors Team

... 18 total!

Podcast Team

... 7 total!

Recruitment Team

... 9 total!