When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
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.
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
11. Write an app that can send and receive local push notifications
12. Obtain permissions to receive remote push notifications
13. Write an app that can receive remote push notifications
14. Authenticate using Apple’s cryptographic services such that the developer can use 3rd party infrastructure to send remote push notifications to their app.
15. Securely store data on the user’s device.
16. Authenticate using Apple’s cryptographic services such that they can deploy an app to the app store
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!
What's included
15 videos6 readings1 peer review
Show info about module content
15 videos•Total 98 minutes
Welcome!•3 minutes
Twitter App: Setting up the User Interface•11 minutes
Twitter App: Connecting the U/I•3 minutes
Twitter App: Styling the U/I via ".layer"•6 minutes
Twitter App: Social.Framework and building a UIAlertController•7 minutes
Twitter App: Closing a window with UIAlertAction•6 minutes
Twitter App: Checking for "Single Sign On"•4 minutes
A general pattern for pop-up alerts•6 minutes
Twitter App: Tweet with SLComposeViewController•9 minutes
Twitter App: Reviewing what we accomplished•2 minutes
Facebook: Adding an additional UIAlertAction•13 minutes
Facebook: Using SLComposeViewController to Post•5 minutes
Future Proofing with the UIActivityViewController•13 minutes
Simplifying the Interface - Less Clicks!•7 minutes
Peer-Review 01: Your turn!•4 minutes
6 readings•Total 60 minutes
Course Overview•10 minutes
Pre-Course Survey•10 minutes
Getting Help•10 minutes
Twitter App Orientation•10 minutes
Facebook Orientation•10 minutes
Future proofing•10 minutes
1 peer review•Total 60 minutes
Social Networking App•60 minutes
Using Secure Web APIs: an Instagram Case Study
Module 2•5 hours to complete
Module details
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?
What's included
12 videos1 reading1 peer review
Show info about module content
12 videos•Total 142 minutes
Overview of Instagram App•4 minutes
Building the project with Cocoapods•4 minutes
Intro to UIImageView•9 minutes
Laying out the Interface•12 minutes
OAuth 2.0•15 minutes
Accessing a web service API•10 minutes
JSON•21 minutes
Custom URL Schemes•16 minutes
NSAppTransport in iOS 9•10 minutes
Network Security Considerations•22 minutes
Getting data with NSURLSession•10 minutes
Calling and Parsing API JSON data•8 minutes
1 reading•Total 10 minutes
Two Updates on the Instagram API•10 minutes
1 peer review•Total 120 minutes
02 Instagram Network API App•120 minutes
Don't be so pushy!
Module 3•3 hours to complete
Module details
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.
What's included
11 videos1 reading1 peer review
Show info about module content
11 videos•Total 108 minutes
App Lifecycle•10 minutes
Push notifications: local Part 1•16 minutes
Push notifications: local Part 2•18 minutes
Push notifications: actions•23 minutes
Push notifications: remote Part 01•9 minutes
Push notifications: remote Part 02•10 minutes
Push notifications: remote Part 03•4 minutes
Push notifications: remote Part 04•12 minutes
Push notifications: remote Part 05•1 minute
Push notifications: remote Part 06•2 minutes
Intro to Peer Review Assignment 03•2 minutes
1 reading•Total 10 minutes
Remote Push Notification Has Changed•10 minutes
1 peer review•Total 60 minutes
03 Push Notification Alarm•60 minutes
Storing Data
Module 4•4 hours to complete
Module details
In this week we look at method of securely storing data on the iOS platform called Core Data.
What's included
9 videos1 reading1 assignment1 peer review
Show info about module content
9 videos•Total 140 minutes
Core Data: Introduction•17 minutes
Core Data: Setting Up Your Project•8 minutes
Core Data: Building the Model•16 minutes
Core Data: Wiring the UI to CoreData•19 minutes
Enrichment: The Full Core Data Example 1•31 minutes
Enrichment: The Full Core Data Example 2•16 minutes
Peer Review 04 Instructions: Storing Data App•4 minutes
Deploying to the App Store•23 minutes
App Store Analytics•5 minutes
1 reading•Total 10 minutes
The Full Core Data Example•10 minutes
1 assignment•Total 30 minutes
Final Exam•30 minutes
1 peer review•Total 60 minutes
04 Secure Data Storage App•60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Since 1965, the University of California, Irvine has combined the strengths of a major research university with the bounty of an incomparable Southern California location. UC Irvine’s unyielding commitment to rigorous academics, cutting-edge research, and leadership and character development makes the campus a driving force for innovation and discovery that serves our local, national and global communities in many ways.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.