Introduction to iPhone App Development
iPhone Overview ; Key New iPhone and OS Features and Enhancements ; iPhone OS ; Objective-C Programming Language ; Cocoa Frameworks ; New iPhone SDK Features ; Xcode Toolset ; Test-Driving an App in the iPhone Simulator
Using the Apple App Store to distribute your apps
iPhone Developer Program: Setting up Your Profile for Testing and Submitting Apps ; Setting Up Your iPhone Development Team ; Getting an iPhone Development Certificate ; Registering Devices for Testing ; Creating App IDs ; Creating a Provisioning Profile ; Using the Provisioning Profile to Install an App on an iPhone or iPod Touch ; Submitting Your App for Distribution ; Testing Your App
Introduction to Xcode, Cocoa and Interface Builder
Introduction to the Xcode IDE and Interface Builder ; Navigating Xcode ; Creating a new project ; Displaying a picture using an Image View in Interface Builder ; Displaying text using a Label in Interface Builder ; Editing properties of GUI components ; Compiling your app and executing it in the iPhone simulator
Introducing Objective-C Programming
Introduction to Objective-C and object-oriented programming ; Objects, classes, interfaces, inheritance, data types, operators, control statements, keywords ; Declaring variables to programmatically interact with GUI components ; Using Interface Builder to visually ìconnectî variables with GUI components ; Declaring and implementing methods ; Using message passing to invoke an objectís methods ; Event handling ; Dragging-and-dropping in Interface Builder (linking GUI component to methods)
Searches App: Collections and Cocoa GUI Programming
Views ; Scroll Views ; Buttons ; Storing key-value pairs in an NSDictionary ; Maintaining Buttons in an NSArray ; Using NSMutableArray and NSMutableDictionary ; Modifying the GUI in response to user interactions ; Programming Button sizes and positions and specifying their target objects and actions
Controllers and the Utility Application Template (games programming)
) Utility Application template: autogenerating interface elements for changing between views ; Frontside and flipside views ; View Controllersósingle view and subviews ; Responding to view events ; Info Buttons ; Done Buttons ; Segmented Controls for presenting a series of choices ; Buttons and radio buttons ; Memory management in Cocoa using retain counting ; NSObject ; Convenience constructors: stringWithFormat
Spot-On Game App: Using UIView and Detecting Touches
Using UIImageView to display a custom image ; Implementing touch handling ; Processing multi-touch events ; UIView methods for getting touch information from the iPhone ; Retrieving touch coordinates ; Using the Core Animation framework ; Using the built-in animation methods for easy access to basic animations ; Accessing the CALayer (Core Animation Layer) ; Adding sounds using the AVFoundation framework ; Using AVAudioPlayers to play back .wav files stored on the iPhone ; Using AVAudioPlayer objects to control playback of .wav files ; Using NSObject method perform-Selector:withObject:afterDelay: to call functions
Cannon Game App: Animation with NSTimer and Handling Drag Events
Performing manual animations by responding to NSTimer events ; Initializing an NSTimer object ; Simple collision detection ; Using structures to group two points that represent the endpoints of a line ; Using Core Graphics framework functionality to draw lines and text, change line thicknesses, change colors, and save and restore graphics contexts
Painter App: Using Controls with a UIView
Creating a custom class containing an array of points, a UIColor object and a numeric line-width value ; Placing a unique key in an NSMutableDictionary ; Adding new points to the class ; Transferring data from a dictionary to an array ; Using the MainView display ; Setting line characteristics in FlipsideView ; Sliders ; Using a UIViewís backgroundColor property ; Loading values from the Sliders and passing them to the MainView
Address Book App: Tables and UINavigationController
Tables: UITableView ; UITableViewCells: editable and non-editable ; Reusing UITableViewCells in UITableViews to save memory and improve performance ; UITableViewís dequeueReusableCellWithIdentifier: method ; UIViewControllers ; Using the navigation bar to add Buttons ; UINavigationItems ; RootViewController ; Showing multiple views ; Using UIKeyboardTypes provide the user with the correct keyboard for the type of information being entered
Route Tracker App: Map Kit and Core Location (GPS and Compass)
Displaying a map using the Map Kit frameworkís MKMapView ; Rotating, zooming and drawing to the map ; Displaying a route by drawing directly to the MKMapView ; Using the Core Location framework to get the userís location and compass heading ; Using CLLocationManager to monitor the iPhoneís location and compass heading and send messages to the Controller class when either reading is updated ; Using a CLLocation object to provide the iPhoneís latitude, longitude and altitude at a specific time ; Receiving a CLLocation from the CLLocationManager to draw the route line to the new location ; Using the CLLocation class to calculate the distance between two CLLocations and calculate the userís total distance traveled in a route ; CLHeading object ; Rotating the mapís orientation to the direction the user is facing ; Initializing an NSDate object to the current time ; Calculating the time since tracking began and using that time to calculate the userís speed
Slideshow App: Photos and iPod Library Access
UITableView and custom UITableViewCells ; UITableView with standard UITableViewCells to display images ; Using a UINavigationController with a UIToolbar to navigate between screens ; Using UIBarButtonItems to switch between views ; Photo API and image pickers ; Creating a UIImagePickerController to add photos from the photo library ; Using MPMediaPickerController for iPod library access ; Storing songs from the iPod music library in an MPMediaItemCollection ; Playing songs using the MPMusicPlayerController ; Using UIActionSheet for image transitions ; Using enum to define the different transition styles
Enhanced Slideshow App: Saving Data and Playing Video
Playing videos from the iPhoneís photo library using an MPMoviePlayerController ; Settinga UIImagePickerControllerís mediaTypes property ; Adding Core Animation image transition ; Using UIViewAnimationTransitionFlipFromRight animation transitions ; Object serialization using a subclass of the NSCoder abstract class ; Archiving ; NSCoder ; NSKeyedArchiver ; Object graph ; Deserialization (decoding or unarchiving) using a subclass of NSCoder
Voice Recorder App: Audio Recording and Playback
Using the AV Foundation framework to record and play back sounds ; Accessing the AVAudioSession object ; AVAudioSessionCategoryRecord to silence audio ; AVAudioSessionCategoryPlayback to play back recordings and to force audio to play even when the Ring/Silent switch is set to silent ; Playback while the iPhone is locked ; NSPredicate class and regular expressions ; E-mailing a saved audio recording by converting the saved file to an NSData object, then passing that as an attachment to an MFMailComposeViewController
Enhanced Address Book App: Managing and Transferring Persistent Data
Core Data framework ; Model-View-Controller design pattern ; Core Data data model (known as a managed object model) ; Model objects (entities) ; Attributes ; Managed Object Context, represented by class NSManagedObjectContext ; Representing entities using class NSEntityDescription ; Using class NSManagedObject to create a new object representing a data object ; Representing data using an NSManagedObject received from an NSEntityDescription ; Manipulating an object in Objective-C code and inserting it back into the data model ; Retrieving information using fetch requests (represented by class NSFetchRequest) ; Using a FetchedRequestController to update the Core Data stored information and the UITableView displaying the contact information ; Using the Game Kit framework to interact with other iPhones via Bluetooth ; Using the GKPeerPickerController class to create a view displaying nearby iPhones running the Enhanced Address Book app ; Using a GKSession to specify whether or not the iPhone is receiving or transmitting data ; Using NSKeyedArchiver to serialize the NSMutableArray representing a contactís information to an NSData object that we can transmit between iPhones using GKSessionís sendDataToAllPeers:withDataMode: method
Discount Airfares App: Internet Enabled Applications
Connecting to Web Services using class NSURLConnection. ; Constructing a URL and passing it to NSURLConnection to handle the networking issues ; Using NSURLConnection to inform a delegate object when events occur, such as receiving a response from the server, an authentication request or when the connection ends ; Receiving XML/Atom feeds ; Parsing XML using class NSXMLParser ; Storing parsed data in an NSMutableArray ; Displaying parsed data in a UITableView with custom UITableViewCells ; Displaying web pages using a UIWebView
Transitioning to the iPad
You'll use the same fundamental techniques that we cover in this course to program the iPad. There are, however, some tasks and widgets that are unique to this device. You'll transform an iPhone app into a Universal application that can run on both platforms, and we'll explore the new Split-View Controller and Popovers which are iPad-specific
Methods of Training
Online Lecture Modules, Subject Expert Feedback Sessions after each Module, practical case studies, end of module assignments. etc.
Full support is available from our subject experts by email at the end of each module and an ongoing basis during the course.
Who Should Apply
Anyone who wishes to develop a career in Computer Programming. Selection is based on consultation.
Computer Programmer, Software Developer, Software engineer, Software Test, Software Design, IT consultant.
Successful candidates are awarded the Diploma in IPhone and IPad Application Development at Pass, Credit or Distinction level. The Diploma is awarded by the Institute of Commercial Management.
Please note: In order to be able to partake in this course you must have access to a Mac or a computer with and OS X System
Certification is awarded by the Institute of Commercial Management (ICM).
The Institute of Commercial Management was founded in 1979 and is one of the leading Professional Examination and Certification Bodies in the world today.
Fitzwilliam Institute Group, have developed and provided Practical Skills Training Courses in liaison with the Institute of Commercial Management Qualifications and Certifications framework for over 25 years.
Institute of Commercial Management certifications are recognised throughout Europe, the USA, Canada, South Africa and Asia in a total of 140 countries, by leading industries, bodies and professions.
next start date: 23rd March 2018
Duration: You will have full access to online resources and subject expert support for one calendar year. However, you can complete the course in as little as 4 - 6 months, by dedicating 6-8 hours of study per week.
Course Fees: 795.00 GPB
To secure your place on the course the full fee is required. All fees must be paid in full before the course begins. Please note, the full course fees are inclusive of all course materials and certification costs.
Enrolment intake is strictly limited on this course. Early application is advised. Places are allocated on a first come first served basis.
Fitzwilliam Institute closes on Bank Holidays and for a number of days at Christmas and New Year. Fitzwilliam Institute reserves the right to postpone, cancel or alter courses without notice or to change any of the details in this brochure. Fees are not refundable unless the course is cancelled by Fitzwilliam Institute. Distance Learning courses are provided by Fitzwilliam Institute BGLS Ltd.