Networking and Security in iOS Applications (Coursera)

Networking and Security in iOS Applications (Coursera)

You will learn to extend your knowledge of making iOS apps so that they can securely interact with web services and receive push notifications. You'll learn how to store data securely on a device using Core Data. You’ll also learn to securely deploy apps to the App Store and beta users over-the-air. The format of the course is through a series of code tutorials. We will walk you through the creation of several apps that you can keep as a personal app toolbox. When you make your own apps after this course, you can bring in these capabilities as needed. When necessary we pop out of the code tutorials to talk about concepts at a higher level so that what you are programming makes sense.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Upon completing this course, you will be able to:

  1. Post Facebook, Twitter, Sina Weibo, Tencent Weibo messages to social media using single sign-on on behalf of a user.
  2. Use OAuth 2.0 to securely authenticate to Instagram and retrieve photos on behalf of a user
  3. JSON
  4. Describe JSON’s syntax
  5. Write well-formed JSON
  6. Work with JSON data objects in Objective-C
  7. Appropriately set the security settings for App Transport Security in iOS 9.0
  8. Use http, https and https with perfect forward secrecy to fetch web resources
  9. Obtain permissions to receive local push notifications
  10. Write an app that can send and receive local push notifications
  11. Obtain permissions to receive remote push notifications
  12. Write an app that can receive remote push notifications
  13. Authenticate using Apple’s cryptographic services such that the developer can use 3rd party infrastructure to send remote push notifications to their app.
  14. Securely store data on the user’s device.
  15. Authenticate using Apple’s cryptographic services such that they can deploy an app to the app store

Course 2 of 6 in the iOS Development for Creative Entrepreneurs Specialization.

Syllabus

WEEK 1
Welcome!
Welcome to this course on Networking and Security in iOS Applications. Our focus in this course is very practitioner oriented. We want to get you up and running using social networking integration with single sign-on, basic OAuth2 functionality, secure JSON web APIs, cryptographically secured push notifications, and secure data storage so that you can get apps into the iTunes ecosystem and out into the marketplace. This course will have several code sessions in which we walk you through the process of building apps, some of which you will also build for peer review assignments. Interspersed with the tutorials we will take time-outs to cover the basics of some concepts that might be mysterious without a more formal treatment. Our hope is that you come out of this course knowing more (of course!) and having several projects that you can refer to in the future when you want to incorporate these techniques into your apps - your personal app toolbox. The intensity picks up from the previous course in this Specialization, so get ready!

WEEK 2
Using Secure Web APIs: an Instagram Case Study
Now it's time to consider what we are going to do if we want to work with web services that aren't deeply integrated into iOS. There are hundreds (thousands?!?!) of them. Most of them require authentication via the OAuth 2.0 protocol. In this week's lessons we will walk through an example of getting a photo from Instagram on behalf of a user. This week is also a code tutorial in preparation for your peer review assignment, but in the middle we need to step back from coding to cover some basics: How do we use a UIImageView? What is OAuth 2.0 anyway? What is JSON and how do we read it? What's the big deal about http vs https anyway?

WEEK 3
Don't be so pushy!
In this week we will look at several aspects of push notifications. Those are those alerts that show up at the top of your iOS interface when an app wants to get your attention. There are several ways that they can be initiated. They can be initiated from an app on a local device, or they can be initiated by a remote server somewhere on the internet. Obtaining permission to post those notifications requires lots of steps, certificates, passwords etc. We'll walk you through it all. This week we start with a high-level overview of the iOS app lifecycle. Then we will do three code tutorials. The first will be the one that you will need to do the peer-review assessment. It's a basic countdown timer that sends a notification at a specific time. The second will show you how to make it all fancy with custom actions. The final one will be for remote notifications. Since remote notifications require an Apple developer account ($$$) we won't assess you on it, but if you have one you can try it out on your own and add it to your personal app toolbox.

WEEK 4
Storing Data
In this week we look at method of securely storing data on the iOS platform called Core Data.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Richard Schechner's Introduction to Performance Studies (Coursera) Coursera
New York University

Richard Schechner's Introduction to Performance Studies (Coursera)

Performance Studies: An Introduction explores the wide world of performance--from theatre, dance, and music to ritual, play, political campaigns, social media, and the performances of everyday life. Performance studies also ranges across cultures--Asia, Africa, the Caribbean, Europe, the Americas. And it spans historical periods from the art of the paleolithic caves to YouTube and the avantgarde. This course is devised by Richard Schechner, one of the pioneers of performance studies, in dialogue with more than a dozen expert scholars and artists.

Sep 28th 2026
13-24 Weeks
Competencias digitales. Conceptos y herramientas básicas (Coursera) Coursera
Universitat Autònoma de Barcelona

Competencias digitales. Conceptos y herramientas básicas (Coursera)

Los continuos cambios tecnológicos, sobre todo en aquellos aspectos vinculados a las tecnologías de la información y la comunicación (TIC) hacen que las personas tengan la necesidad de actualizarse de forma continua para que sus conocimientos no queden obsoletos. En este contexto, para las empresas se convierte en algo imprescindible disponer de profesionales que tengan las competencias necesarias para ejercer con éxito las actividades que requieren en su lugar de trabajo.

Sep 28th 2026
4 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Sep 28th 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Sep 28th 2026
4 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Sep 28th 2026
5-12 Weeks
Blockchain Security (Coursera) Coursera
Infosec

Blockchain Security (Coursera)

This course introduces blockchain security, including a description of how the blockchain works at each level of the blockchain ecosystem. The instructor begins with the building blocks that create the structure of blockchain, the cryptography that it uses for security, and the role of hash functions in the blockchain and how they can be attacked. In the next module, the instructor describes what blockchain consensus is, why it’s needed, its underlying theory (Byzantine Fault Tolerance and Security via Scarcity), some of the common consensus algorithms, and the security issues inherent to each variant.

Sep 28th 2026
5-12 Weeks
How to Network: Leading Yourself to Lead Others (Coursera) Coursera
University of Michigan

How to Network: Leading Yourself to Lead Others (Coursera)

Life is a relationship business, and the world is our work. Success in today’s complex, dynamic, and unpredictable world depends on our ability to cultivate, nurture, and activate relationships. This course – designed for students, professionals, and executives – will inspire learners to build a networking mindset and harness the power of networking to solve problems, create opportunities, and live out their respective purposes and goals.

Sep 28th 2026
4 Weeks
Social and Economic Networks: Models and Analysis (Coursera) Coursera
Stanford University

Social and Economic Networks: Models and Analysis (Coursera)

Learn how to model social and economic networks and their impact on human behavior. How do networks form, why do they exhibit certain patterns, and how does their structure impact diffusion, learning, and other behaviors? We will bring together models and techniques from economics, sociology, math, physics, statistics and computer science to answer these questions.

Sep 28th 2026
5-12 Weeks
Blockchain Scalability and its Foundations in Distributed Systems (Coursera) Coursera
The University of Sydney

Blockchain Scalability and its Foundations in Distributed Systems (Coursera)

Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: understand security vulnerabilities of mainstream blockchains; design consensus algorithms that tolerate attacks, and; design scalable blockchain systems.

Sep 28th 2026
5-12 Weeks