This very comprehensive iOS App Development Course explores developing applications for iOS based devices such as iPhone, iPod Touch and iPad. This free online course will provide an overview of iOS development from use of current iOS SDK, to design of applications and industry business practices. Prior programming experience in either C or an Object-Oriented Programming language is required for this online course.
|Lesson||Lesson Title & description||Learning Outcomes|
|1.||Introduction to iOS Development and Xcode||1. Identify current mobile device iOS version.
2. Identify the features introduced in iOS versions.
3. Identify the different iOS devices including major features and hardware of each device.
4. Identify the operating system versions that work with different iPhone, iPod Touch, and iPad generations.
5. Identify limitations when developing iOS apps.
6. Identify advantages when developing iOS applications.
|2.||iTunes App Store||1. List the iTunes App Categories and recognize an example of the type of app that would fit in that category.
2. Identify the app category with the most submissions overall and the app category with the most submissions per month.
3. Evaluate an app based on user reviews, functionality, design, popularity and utility.
4. Discuss the differences between a free app, a paid app, and why some free apps are actually in the top grossing app category.
5. Identify different web resources for reviewing iOS apps and/or for iOS and Apple news.
6. Identify the different sections in an app’s page when selected in iTunes App Store and the purpose of each.
|1. List the steps in creating a new project.
2. Create a new project using a single-view template.
3. Identify the areas of the Xcode window including navigator pane, utility pane, editor pane, and debug area.
4. Utilize Xcode to create iOS application using a template.
5. Demonstrate building an app and use of the simulator.
6. Use Interface Builder to create the user interface.
7. Use Code Editor to declare instance variables and methods in the .h file and implement in the .m file.
8. Differentiate content that goes in the .h file, the .m file and the storyboard file.
9. Explain the use of Standard editor view, Assistant editor view and Organizer window.
10. Identify the different navigation views including Navigator view, project navigator, symbol navigator, search navigator, issues navigator, debug navigator and breakpoint navigator, and log navigator.
11. Identify the different inspectors including attribute inspector, identity inspector and connections inspector.
12. Differentiate between the folders and files seen in Xcode versus the project’s folders and files on the drive.
13. Identify the purpose of outlets (IBOutlet) and actions (IBAction).
14. Create an app that uses outlets and actions.
|4.||Objective-C||1. Discriminate among a superclass, a class and a subclass.
2. Identify in a message, the instance variable, the method and whether there are arguments included.
3. Explain why comments are important in a program.
4. Identify the two Boolean values used in Objective-C.
5. Identify the differences between a class method and an instance method.
6. Identify the use of pointers in iOS applications.
7. Identify primitive data types.
8. Differentiate content and code that goes in the header (.h) file, the implementation (.m) file and the xib (.xib) (or storyboard) file.
9. Identify the use of id as a data type.
10. Identify the purpose of the viewDidLoad method.
|5.||Cocoa Touch and Design Patterns||1. Identity the three frameworks included in almost every iOS application.
2. Identify the different iOS architecture layers.
3. Identify the characteristics of the Model-View-Controller design pattern.
4. Identify the characteristics of the target-action design pattern.
5. Demonstrate using outlets and actions in an app.
6. Demonstrate using textfields for user input.
7. Demonstrate using label for user output.
8. Demonstrate changing the class of a UI object.
9. Demonstrate the use of FirstResponder in an app.
10. Demonstrate setting up a keyboard for number input.
11. Demonstrate changing the class of a view (UIView) to a subclass (UIControl).
|6.||Views and Auto Layout||1. Explain why view hierarchy is important.
2. Differentiate between a parent (superview) and a child (subview).
3. Determine where a view goes in the view hierarchy.
4. Define first responder.
5. Define the role of the responder chain.
6. Determine if a UI element was able to trigger actions.
7. Define the following terms: auto layout, constraint.
8. Explain adding an icon to a project.
9. Explain creating constraints between parent and child views.
10. Explain creating constraints between two views in same level of view hierarchy.
|7.||Touches and Gestures||1. Differentiate between gestures, touches and taps.
2. Define gesture recognizer, event and responder chain.
3. Classify the category to which taps, touches, swipes, and pans belong.
4. Identify the different methods used in multi-touch architecture.
5. Match each gesture recognizer with its corresponding gesture.
|8.||Storyboards and Segues||1. Define: xib file, Interface Builder, storyboard, segue, and transition effect.
2. Compare the use of xib files to the use of storyboards in iOS applications.
3. Identify how a transition effect is added on a series of storyboard views using Interface Builder.
4. Identify how a storyboard view is set as the first scene in an app.
5. Create an application that uses storyboards with multiple scenes and uses transition effects between scenes.
|9.||iPad and Universal Apps||1. Identify the hardware differences between versions of iPad.
2. Identify UI elements available when creating iPad applications including split view controller, modal and popups.
3. Differentiate universal app, iPad app, and iPhone app design differences.
4. Explain the steps in setting up a universal app.
5. Identify advantages of creating a universal app.
6. Identify disadvantages of creating a universal app.
7. Explain the file naming conventions used to recognize retina versus non-retina images.
8. Identify the file type preferred by iOS devices for image and icon files.
|10.||iOS Human Interface Guidelines, Part 1||1. Describe the application definition statement and what is included in the statement.
2. Identify the ways that users hold their devices.
3. Identify reasons to follow principles outlined in the Human Interface Guidelines (HIG) document.
4. Identify the differences between points and pixels for standard resolution and for retina resolution.
5. Discuss when to create custom controls.
6. Explain saving documents and the HIG preference for user generated content to be saved automatically.
7. Recognize guidelines presented within the UI Design Basics section of the HIG.
8. Identify the standard meaning of a pinch, swipe, drag and tap.
|11.||iOS Human Interface Guidelines, Part 2||1. Identify the function of the available iOS technologies.
2. Identify the content view that will appropriately display data given a design scenario.
3. Identify views that are used primarily for interaction and are temporary.
4. Differentiate the use guidelines between a navigation bar, toolbar and a tab bar.
5. Demonstrate how to add a tab with an icon and title that is associated with a scene to the tab bar.
6. Create an application that uses the Tab Bar template.
|12.||Frameworks||1. Define framework.
2. Add a framework to a project.
3. Identify Core Location and MapKit frameworks.
4. Identify the different ways to get a location on an iOS device.
5. Define longitude, latitude and altitude.
6. Identify which location method is the most accurate.
7. Identify the effect of using a lesser degree of accuracy in designing iOS apps.
8. Add annotations to a map app.
|13.||Handling Data||1. Define data persistence.
2. Identify and differentiate among the different methods discussed for handling data persistence on the iPhone.
3. Identify the subfolders in the iOS applications folder and purpose of each.
4. Explain the purpose of an application’s sandbox and how this purpose impacts the application’s design and functionality.
5. Differentiate between single-file persistence and multiple-file persistence.
6. Discuss two protocols used in archiving data persistence and identify which of these protocols is required and which is optional.
7. Discuss the advantages and disadvantages of using SQLlite3.
8. Discuss the advantages and disadvantages of using Core Data.
|14.||Distributing Apps||1. Identify the purpose of iTunes Connect.
2. Identify when beta testing should occur once development of app is complete.
3. Identify the steps required to distribute an app using iTunes Connect.
4. Identify the income percentage that Apple receives from any app.
5. Explain the way price levels work with iOS apps.
6. Identify how to determine if an app contains encryption.
7. Identify the purpose of the application description.
8. Recognize the type of information needed to set the primary category and secondary category for an app.
9. Identify tips for improving app ratings and requirements for submitting an app in iTunes.
Click here to download all the Tutorials for IOS App Development.