We may earn an affiliate commission when you visit our partners.
Course image
Don Patterson and Sam Kaufman

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.

Read more

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

Enroll now

What's inside

Syllabus

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!
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Develops professional skills in building secure web services and data storage for iOS applications
Builds a strong foundation in iOS networking and security principles
Taught by recognized experts in iOS development, Don Patterson and Sam Kaufman
Requires learners to come in with extensive background knowledge in iOS development

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical ios networking and security skills

According to students, this course offers a highly practical approach to learning networking and security concepts for iOS applications. Learners appreciate the focus on building apps and hands-on coding tutorials covering essential topics like OAuth 2.0, JSON handling, Core Data storage, and push notifications. While the course content provides a solid foundation in these areas, a significant point raised by recent reviewers is that the material and code examples are potentially outdated, particularly regarding the latest iOS versions and practices, which can lead to frustrating debugging. Some learners also found the course challenging and felt it requires significant prior iOS development knowledge.
Relevant coverage of networking and security.
"Covered essential topics like push notifications and Core Data storage which are vital for many apps."
"The core concepts like OAuth and JSON handling are still relevant and well-explained through the code tutorials."
"The sections on secure JSON and using OAuth were exactly what I needed."
"I appreciated the depth on Core Data and the practical examples for networking."
Focuses on hands-on coding and app building.
"Excellent hands-on approach! Building the sample apps gave me a solid foundation for integrating social login and handling secure data."
"Very practical and directly applicable to my work. The sections on secure JSON and using OAuth were exactly what I needed. The hands-on labs were the best way to learn."
"The instructor's code walkthroughs are thorough and helpful for building the sample apps."
"I found the code tutorials very helpful in learning the concepts by actually building things."
Quality of peer review feedback varies.
"Peer review quality was inconsistent."
"The peer review process could be improved."
Steeper learning curve than expected for some.
"Found this course very difficult. It assumes a lot of prior knowledge beyond basic iOS development."
"The course definitely moves quickly, so make sure you're comfortable with iOS development basics first."
"Debugging the sample code (due to version differences) was frustrating."
"Not beginner-friendly in this specialization."
Code examples need updates for modern iOS.
"This course is largely obsolete. App Transport Security requirements have changed significantly... relying on Objective-C examples when Swift is dominant makes it less useful for current development."
"The course provides a decent overview, but some areas... feel a bit surface level. The code examples are helpful but tied to an older version of iOS which caused some integration headaches."
"I wish the push notification section was updated for the latest iOS permissions changes, that part was a bit tricky to get working without external help."
"Needed to do a lot of extra research to adapt the examples [because the] material feels a couple of years behind the latest iOS practices."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Networking and Security in iOS Applications with these activities:
Review Objective-C Basics
Strengthen your foundation by revisiting Objective-C concepts to ensure a solid understanding before diving into the course material.
Browse courses on iOS App Development
Show steps
  • Review the basic syntax and structure of Objective-C.
  • Go through examples of classes, objects, and methods.
Review Core Data Basics
Refresh your knowledge of Core Data's key concepts and functionalities to enhance your understanding of data management in iOS apps.
Browse courses on iOS App Development
Show steps
  • Review the fundamentals of Core Data, including its data model and object management.
  • Refresh your understanding of Core Data's persistence mechanisms.
Compile iOS App Development Resources
Help yourself and others by gathering and organizing valuable iOS app development resources, tools, and tutorials.
Browse courses on iOS App Development
Show steps
  • Search for online resources, articles, and tutorials related to iOS app development.
  • Organize and categorize the resources based on their topics.
  • Create a document, website, or online forum to share the compilation with others.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Practice OAuth 2.0 Authorization
Strengthen your grasp of OAuth 2.0 by completing practice drills and exercises.
Browse courses on OAuth 2.0
Show steps
  • Review the OAuth 2.0 concepts covered in the course.
  • Find practice questions or exercises online.
  • Go through the drills and practice implementing OAuth 2.0 authorization flows.
Follow iOS App Tutorials
Enhance your understanding of iOS app development by following tutorials and building sample apps.
Show steps
  • Identify a topic you want to learn more about in the course.
  • Search for tutorials on that topic.
  • Follow the tutorial step-by-step.
  • Build the sample app and experiment with the code.
Review Each Other's Social Media Login Feature
Enhance your learning by collaborating with peers and providing feedback on implemented social media login features.
Browse courses on iOS App Development
Show steps
  • Pair up with a classmate.
  • Share your social media login feature implementation with your partner.
  • Review and provide constructive feedback on the code and design.
Build a Social Media Login Feature
Demonstrate your understanding by building a functional social media login feature for an iOS app.
Browse courses on iOS App Development
Show steps
  • Design the user interface for the login feature.
  • Implement the OAuth 2.0 authentication flow using the relevant APIs.
  • Handle user data and permissions.
  • Test the login feature thoroughly.
Create a Secure Data Storage App
Apply your knowledge by developing a comprehensive iOS app that securely stores user data using Core Data.
Browse courses on iOS App Development
Show steps
  • Plan the data model for the app.
  • Implement Core Data to store and manage user data.
  • Design and implement security measures to protect the stored data.
  • Test the app thoroughly to ensure data integrity and security.

Career center

Learners who complete Networking and Security in iOS Applications will develop knowledge and skills that may be useful to these careers:
Network Security Architect
A Network Security Architect designs, develops, and manages security measures to protect an organization's computer networks and systems. This course may be useful for Network Security Architects because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for designing and implementing secure network systems.
Web Developer
A Web Developer designs, develops, and maintains websites and web applications. This course may be useful for Web Developers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for developing secure web applications.
Mobile Developer
A Mobile Developer designs, develops, and maintains mobile applications. This course may be useful for Mobile Developers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for developing secure mobile applications.
Security Analyst
A Security Analyst plans, implements, and manages security measures to protect an organization's computer networks and systems. This course may be useful for Security Analysts because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for understanding and defending against security threats.
Information Security Manager
An Information Security Manager plans, implements, and manages security measures to protect an organization's information assets. This course may be useful for Information Security Managers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for understanding and managing information security risks.
Security Engineer
A Security Engineer designs, develops, and manages security measures to protect an organization's computer networks and systems. This course may be useful for Security Engineers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for designing and implementing secure systems.
IT Auditor
An IT Auditor reviews and assesses an organization's information systems and security controls to ensure compliance with regulations and standards. This course may be useful for IT Auditors because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for understanding and auditing information systems.
Cybersecurity Consultant
A Cybersecurity Consultant provides advice and guidance to organizations on how to protect their computer networks and systems from security threats. This course may be useful for Cybersecurity Consultants because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for understanding and mitigating security risks.
IT Manager
An IT Manager plans, implements, and manages an organization's information technology systems and services. This course may be useful for IT Managers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for managing and securing information technology systems.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. This course may be useful for Software Engineers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for developing secure software applications.
Network Engineer
A Network Engineer designs, deploys, and maintains computer networks. This course may be useful for Network Engineers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for designing and managing secure networks.
Data Scientist
A Data Scientist analyzes data to extract insights and make predictions. This course may be useful for Data Scientists because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for understanding and securing data.
Business Analyst
A Business Analyst analyzes business processes and systems to identify opportunities for improvement. This course may be useful for Business Analysts because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for understanding and improving business processes.
Project Manager
A Project Manager plans, executes, and closes projects to achieve specific goals. This course may be useful for Project Managers because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for managing and securing projects.
Systems Analyst
A Systems Analyst analyzes and designs computer systems. This course may be useful for Systems Analysts because it provides a foundation in networking and security concepts. The course also covers topics such as secure web APIs, OAuth 2.0, JSON, and push notifications, which are all important for designing and implementing secure systems.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Networking and Security in iOS Applications.
Provides a comprehensive overview of iOS security in depth. It is particularly useful for those who want to learn more about the security risks associated with iOS development and how to mitigate them.
Provides a comprehensive overview of cryptography and network security, with a focus on principles and practice. It is particularly useful for those who want to learn more about the mathematical foundations of cryptography and how to use cryptographic techniques to secure networks.
Provides a comprehensive overview of security engineering, with a focus on building dependable distributed systems. It is particularly useful for those who want to learn more about the principles and practices of secure software development.
Provides a comprehensive overview of iOS application security. It is particularly useful for those who want to learn more about the security risks associated with iOS development and how to mitigate them.
Provides a comprehensive overview of web application security, with a focus on finding and exploiting security flaws. It is particularly useful for those who want to learn more about the security risks associated with web applications and how to mitigate them.
Provides a comprehensive overview of network security, with a focus on applications and standards. It is particularly useful for those who want to learn more about the security risks associated with networking and how to mitigate them.
Provides a comprehensive overview of software security testing, with a focus on web applications. It is particularly useful for those who want to learn more about how to identify and fix security vulnerabilities in their own applications.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser