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

AWS Cloud Technical Essentials (Coursera) Coursera
AWS

AWS Cloud Technical Essentials (Coursera)

Are you in a technical role and want to learn the fundamentals of AWS? Do you aspire to have a job or career as a cloud developer, architect, or in an operations role? If so, AWS Cloud Technical Essentials is an ideal way to start. This course was designed for those at the beginning of their cloud-learning journey - no prior knowledge of cloud computing or AWS products and services required!

Jun 23rd 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Jun 22nd 2026
5-12 Weeks
English for Media Literacy (Coursera) Coursera
University of Pennsylvania

English for Media Literacy (Coursera)

Welcome to English for Media Literacy! This course is designed for non-native English speakers who are interested in learning more about U.S. media literacy. In this course, you will explore different types of mass media; such as, newspapers, magazines, television, and social media. This course will also give you the opportunity to develop a broader understanding of the role media plays in our lives, while building your vocabulary and giving you the language skills needed to analyze what you read and watch.

Jun 22nd 2026
5-12 Weeks
Fundamentals of Management (Coursera) Coursera
University of California, Irvine

Fundamentals of Management (Coursera)

Are you about to enter the workforce? Are you an emerging professional? Are you new to your role in the organization? All prospective new employees benefit from understanding management principles, roles and responsibilities, regardless of position. Now you can acquire an in-depth understanding of the basic concepts and theories of management while exploring the manager's operational role in all types of organizations. Gain insight into the manager's responsibility in planning, organizing, leading, staffing and controlling within the workplace. It’s never too soon to plan your professional path by learning how the best managers manage for success!

Jun 22nd 2026
4 Weeks
Hardware Security (Coursera) Coursera
University of Maryland, College Park

Hardware Security (Coursera)

In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.

Jun 22nd 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Jun 22nd 2026
13-24 Weeks
App Design and Development for iOS (Coursera) Coursera
University of Toronto

App Design and Development for iOS (Coursera)

In App Design and Development for iOS, the third course of the iOS App Development with Swift specialization, you will be developing foundational programming skills to support graphical element presentation and data manipulation from basic functions through to advanced processing. You will continue to build your skill set to use and apply core graphics, touch handling and gestures, animations and transitions, alerts and actions as well as advanced algorithms, threading and more. By the end of this course you will be able to develop a more advanced, fully functioning app.

Jun 22nd 2026
5-12 Weeks
Agile Meets Design Thinking (Coursera) Coursera
University of Virginia

Agile Meets Design Thinking (Coursera)

Despite everyone's good intentions, hard work and solid ideas, too many projects end up creating unneeded, unusable, and unsellable products. But it doesn't have to be this way. Agile and design thinking offer a different--and effective--approach to product development, one that results in valuable solutions to meaningful problems. In this course, you’ll learn how to determine what's valuable to a user early in the process--to frontload value--by focusing your team on testable narratives about the user and creating a strong shared perspective.

Jun 22nd 2026
4 Weeks
Business English: Networking (Coursera) Coursera
University of Washington

Business English: Networking (Coursera)

This course begins with a welcome message and an overview of the Specialization. After this introduction, you will be asked to take a proficiency test to see if this course is right for you. During the course, you will begin learning vocabulary and customs related to socializing and networking in English. The goal is to enable you to interact with business contacts in person, on the phone and over email in a professional way.

Jun 22nd 2026
5-12 Weeks
Introduction to Social Media Analytics (Coursera) Coursera
Emory University

Introduction to Social Media Analytics (Coursera)

Social media not only provides marketers with a means of communicating with their customers, but also a way to better understand their customers. Viewing consumers’ social media activity as the “voice of the consumer,” this session exposes learners to the analytic methods that can be used to convert social media data to marketing insights. In Introduction to Social Media Analytics, learners will be exposed to both the benefits and limitations of relying on social media data compared to traditional methods of marketing research.

Jun 22nd 2026
4 Weeks