
discover iPhone development fundamentals, from setting up xcode on an intel mac to building apps with objective-c. master ios frameworks, views, data storage, graphics, motion, location, multimedia, and app deployment.
Explore Objective-C primitive data types, including signed and unsigned integers, floating point types, and bool, and learn how structs and dot syntax expose their fields.
Demonstrate printing primitive sizes and ranges with sizeof and format specifiers, and explore structs, typedefs, and point coordinates, plus precision control for floating point output.
Explore pointers and arrays in C; a pointer holds an address and uses address-of and indirection operators, while arrays are zero-based, decay to first element; strings are arrays of chars.
Learn pointers and arrays through source code demonstrations, exploring integer values, addresses, Fibonacci and square arrays, and C strings in relation to Objective-C objects.
Explore how classes define data types with properties and methods in Objective-C. Learn to instantiate objects by alloc and init, and call methods or access properties.
Define a class and interface, declare properties such as name, legs, and wings, implement setters and a describe method, and create cat and bird objects.
Examine how Objective-C properties are created with the property directive, how automatic getters and setters are generated, and how instance and class methods differ, including id and nil roles.
Define a simplified animal class with properties name, number of legs, and has wings, plus a class method that returns a new animal and an instance method to update it.
Explore inheritance and polymorphism in Objective-C, showing how subclasses inherit properties and methods, override behavior with super calls, and achieve dynamic binding through polymorphic move implementations.
Explore inheritance with a transportation base class and subclasses like car and bicycle, override initializers and move, and observe polymorphism when a transportation reference handles different objects.
Learn how to declare object properties in Objective-C, manage memory with automatic reference counting, and use strong, weak, and atomic property attributes.
Learn the basics of NSString in Objective-C, including immutable and mutable strings, initialization with string and stringWithFormat, memory management with strong references, and converting between C strings and NSStrings.
Define strings with literals and a format to create hello, world greeting. Show a log out utility that prints greeting and converts between NSString and C strings using UTF8 string.
Learn about NSArray and mutable array in Objective-C, covering immutable vs. mutable forms, literal syntax, nil termination, mutableCopy, and capacity-based initialization for iOS development.
Demonstrates an NSArray-based log out class with strings, including methods say, all strings, and add string; shows mutable array updates and using Xcode snippets to clean logs for debugging.
Explore NSSet and NSMutableSet: unordered collections that store each object once, with immutable and mutable variants, creating sets from arrays, using init and setWithArray, and counting with NSCountedSet.
Explore an NSSet demo with source code that demonstrates intersection and union of immutable sets A and B, plus mutable and counted sets, with logging of results.
Explore dictionaries as hash-like collections of keys and values with immutable and mutable forms, literal syntax, and plist compatibility, including set object for key and remove object for key.
Explore iOS dictionaries: map keys to values, access and mutate via a mutable copy, and use a counted set to track calls and trigger callbacks with numbers.
Discover how delegation works in Objective-C through protocols, where a delegating object forwards events to a delegate via an id-typed property and a protocol, with optional and required methods.
Explore the delegation pattern with a live demo and source code, where a counter counts to a given number and notifies its delegate when a value is divisible by 10.
Explore how Objective-C categories add methods to existing classes, enabling a small core of behavior and extending functionality via header and implementation files (class plus category name), without adding properties.
Explore how to create an Objective-C category on NSString, add count and word count methods, and use self length to extend string functionality with blocks, import, and example.
Learn how Objective-C extensions hide properties from the public interface, enabling private implementation inside a class by declaring anonymous categories in the implementation file before @implementation.
Learn how extensions (anonymous categories) let you declare private properties and methods in a class, use a private random integer with an internal getter/setter, and manage public vs private access.
Discover how the model view controller design pattern structures iOS apps, with the controller instantiating models and views, handling target action events, and using delegation to mediate communication.
Explore the model–view–controller pattern by building a simple iPhone app in Xcode, wiring a model, view controller, and storyboard to display random fortunes like a Magic 8 Ball.
iOS 7 introduces a new look with flattened controls, removing 3D skinning to emphasize functionality, clarity, and depth, while core frameworks largely remain compatible with iOS 6.
Create your first iOS 7 application using the single view template in Xcode, wiring a label and a hello button with an outlet and action to display 'Hello world'.
iOS is a layered system from hardware up to the cocoa touch interface, detailing the core OS, core services, and frameworks like Accelerate, Core Data, and OpenGL ES.
Learn how to add and link frameworks in an iOS app with Xcode 5, import headers, and use Core Motion alongside Core Graphics, UIKit, and Foundation.
Explore the iOS app lifecycle, including states not running, inactive, active, background, and suspended, and how the app delegate manages transitions via application did finish launching with options.
Explore the application lifecycle by tracing the app delegate methods, such as will finish launching, did finish launching, will resign active, did enter background, and did become active.
Explain nib files, short for NextStep interface builder, and their role in iOS and OS X UI design, including how outlets and actions connect views to view controllers.
Learn how to create a new empty iOS app using nib files, wire a view controller to its nib, and display it as the window's root view controller.
Explore how storyboards represent multiple views with scenes and segues, including relationship and transition segues such as modal and push.
Create multiple scenes in a storyboard, connect them with a modal segue from a button, and use the segue identifier in prepare for segue to customize the destination view controller.
Explore how views and view controllers form the iOS model-view-controller, wire the view to the file's owner in Interface Builder, and link outlets and actions for active and passive controls.
Wire a view controller outlet and action in Interface Builder, then toggle a two-state show/hide button and label text to demonstrate basic UI wiring.
Understand touch events and gesture recognizers in the responder chain from application to view controller, using touches began, moved, ended, and cancelled in Interface Builder.
Explore pre provided gesture recognizers in interface builder, wire tap and swipe to actions that change a view’s color, and discuss pinch, rotate, and long press in context.
Learn to recognize touch events on iOS by handling touches began, moved, and ended, including enabling user interaction on labels and tracking touch coordinates.
Explore how tab bar controllers act as containers for multiple view controllers, presenting a bottom tab bar to switch views, with relationship segues linking child controllers and automatic highlighting.
Learn to use a tab bar controller in a tabbed iOS app template, configure tab items with 30x30 and 60x60 assets, and add a simple model.
Explore how navigation controllers manage a stack of view controllers, enabling hierarchical navigation via push segues, back buttons, and route controllers, with table view integrations for list-detail flows.
Set up a navigation controller in a single Xcode project and assign a root view controller. Create a push segue to a detail view and observe back navigation.
Instantiate a single model at the top of the app’s view controller hierarchy. Access it from tab bar and navigation controllers by casting to the specific tab bar controller.
Learn to implement iOS table views with a table view controller and navigation controller, using data source and delegate protocols, index paths, and a simple model for rows.
Set up a simple table view in Interface Builder, connect to a colors array model, and implement data source methods in a table view controller.
Handle table view row taps by pushing a detail view controller via a push segue in a navigation controller, using prepare for segue to cast the destination and sender.
present a detailed view controller from a table view using a colors dictionary to map keys to color values, and configure the segue for the selected color.
Learn to add and delete rows in a table view by updating the model first, then reload data, using a push segue and an edit button in the navigation bar.
Add colors to the data model through a table view by using an adding view controller and a delegate protocol to pass color data back and refresh the table.
Learn how to delete rows in a table view by removing data from the model and letting the table view update automatically, using swipe to delete or an edit button.
Demonstrates grouped table views using a states dictionary, with sections by first letter, an alphabetic index, and section headers. Learn case-insensitive key sorting and indexed navigation.
Explore how property lists save and load dictionary and array collections in iOS, handle the documents directory within the sandbox, and read or write atomically to plist files.
Explore a plist demo that saves a color list to a file to preserve state across launches, using load and save list methods.
Master SQLite lite basics by creating tables with primary keys, not null constraints, and auto increment, using the command line tool to run ddl and basic sql queries.
Open the sqlite3 command line, create a test database, define a simple table with id and name, and use schema and output to dump the schema and reset the database.
Master CRUD operations in SQLite, including create, read, update, and delete, with table creation, inserts, selects with where clauses, and inner joins that relate multiple tables.
Explore sqlite 3 basics by creating a demo database with names and employee info tables, performing insert, update, delete, and join queries to combine names and employee IDs.
Learn to set up sqlite3 in iOS projects by linking the sqlite framework, moving the database from bundle to documents directory, and opening and closing with sqlite3_open and sqlite3_close.
Copy a sqlite 3 database from the app bundle to the documents directory, then open and close the database to verify accessibility and correct path handling in a sample app.
Learn how to query a database from an app using sqlite3, prepare statements with sqlite3_prepare_v2, step through selects to fetch rows, and bind results to objective-c objects.
Demonstrate executing SQL from an iOS app with SQLite3, performing two inserts into names and phones, retrieving the last insert row id, and handling select, delete, and open/close operations.
Discover how blocks in Objective-C are nameless, passable code units. Learn their declaration, variable capture, read-write access with __block, and use in methods and dispatch.
Explore threading and synchronization, using mutexes and synchronized blocks to prevent race conditions when multiple threads access shared values. Apply Grand Central Dispatch and queues to manage access.
Learn how blocking the main thread freezes the iOS UI, and explore three threading approaches: this thread, Grand Central Dispatch, and a GCD subset, through a live NSThread demo.
Offload a counting loop to an NSThread, start and cancel it, and update the UI on the main thread using performSelectorOnThread.
Explore how NSOperation wraps low-level threading into a higher-level abstraction, enabling dependencies, cancellation, and execution on an operation queue or the main queue.
Learn how to configure an NSOperation queue to run operations concurrently, add operations, and manage dependencies. The lecture covers threading control, main queue usage, and synchronization to avoid deadlocks.
Explore NSOperation and operation queue concepts with a hands-on demo: create and queue CountOperation, manage concurrency with max concurrent operation count, and learn sequential execution via dependencies.
Learn how Grand Central Dispatch uses dispatch queues, including serial, concurrent, and the main queue, to manage threading with blocks and tasks, enabling asynchronous execution while keeping the UI responsive.
Explore Grand Central Dispatch and serial queues through a sequential queue demo that updates a label from a text field without blocking the user interface.
This lecture demonstrates using Grand Central Dispatch on a global concurrent queue to run two slider updates concurrently, while updating the UI on the main queue.
Learn to record and play audio with AVFoundation, using AVAudioPlayer and AVAudioRecorder, configure the audio session, handle errors, and control start, pause, and stop.
Master basic audio recording and playback in iOS with a bare-bones, three-button demo. Learn to configure a shared audio session, handle record and play actions, and manage button states.
Explore video recording and playback using the camera api and mobile core services, including image picker setup, media types, and preview with the media player framework.
Record video via the image picker and media player services, save the video URL, and play with the movie player controller. Handle camera availability, delegate callbacks, and playback finish notifications.
Explore video capture on iOS 7, including camera and microphone security prompts. Learn how AVI capture device enables frame rate, focus, zoom, low light, and barcode detection.
Demonstrates enumerating video and audio capture devices, identifying the default front or back camera, and logging results on a real iOS device with provisioning notes.
Demonstrates configuring an avi capture device for the highest frame rate, locking the device for settings, and setting up a capture session with input and output.
Configure the AB capture device and a capture session, add an AB capture metadata output with its delegate, and specify barcode types to detect and decode the string value.
Deploy an AV capture session to detect and decode barcodes (QR and Aztek) in iOS, configure metadata output and delegate handling, and process barcode strings on the main queue.
Define and position views with frame and bounds in a parent view, noting origin, size, and center. Understand the inverted y axis and animate by changing the frame.
Observe an iOS 7 view demo where red and blue square views are created with frames, added as subviews, and moved by five pixels to illustrate subview ordering.
Learn to draw directly in iOS views with Core Graphics, obtain the current context, create and stroke paths, and render lines, arcs, and curves in drawRect.
Draw in a custom drawing view using the current graphics context to stroke a blue square on a yellow background with a red fill.
Learn to draw three shapes, square, circle, and triangle, on a drawing view by updating a mutable CGPath in the view controller and rendering with path stroke.
Master how core animation provides low-level hardware support for displaying and animating view content via layers, and explore implicit and explicit animations and layer types.
Explore core animation by showcasing implicit and explicit animations on a red square, moving its layer position from start to end over two seconds, with restore resetting the state.
This lecture demonstrates Core Animation 3D transforms by rotating a view and button 45 degrees around the z axis, using explicit CA transform 3D animation with a one-second duration.
Explore Core Animation 3D transforms by manipulating a 4x4 CATransform3D matrix through translation, rotation, and scale, using the identity matrix as a baseline and applying radians for angles.
Learn to think in radians, convert angles, and compute line endpoints using delta x, delta y, sin and cos, and the Pythagorean theorem in graphics contexts.
Draw a line from a start point using a known distance and angle, computing the endpoint with cosine and sine while reversing the y-axis.
Explore how SpriteKit's 2D rendering framework uses a node-based scene graph, set up an SKView and SKScene, and enable debug properties like shows draw count and shows frames per second.
Link the Spryte kit framework and configure the storyboard to use an SKView, then instantiate and present an SKScene with diagnostics for draw count, node count, and frames per second.
Learn to set up a SpriteKit scene, add sprite nodes, and initialize them with images, textures, or colors, controlling position, anchor points, and simple actions like rotation.
Explore setting up a SpriteKit scene, adding a rectangular sprite and rotating it. See how didMoveToView and hasContent govern content creation, anchor points, and rotation around corners.
Build a SpriteKit demo that creates a head sprite with two eyes as subnodes, and spins the head on touch using SKAction, with eyes rotating with the head.
Rotate the left eye separately using a head node and concurrent spin actions. Implement gravity with physics bodies, scene edge loops, and lunar gravity to observe bounce and restitution.
Explore SpriteKit physics bodies, including mass, density, friction, linear and angular damping, and restitution, and learn how gravity, dynamic settings, forces and impulses shape velocity and rotation.
Explore SpriteKit physics interactions in a demo series, adjusting gravity, dynamic properties, damping, and restitution. Observe how nonmoving and dynamic sprites collide, rotate, and bounce.
Apply an impulse vector to a nonmoving yellow square to start moving; use a leftward newtons value, while gravity affects the blue square and cg vectors apply to multiple nodes.
Define and manage SpriteKit physics interactions by using category, contact, and collision bit masks to control when collisions occur and when contacts trigger actions.
Set up four categories for scene objects and assign category, contact test, and collision bit masks. Adopt the SK physics contact delegate and implement didBeginContact to handle contacts without recursion.
Explore Core Location usage with standard location service and significant change location service, balance accuracy and battery life, and control updates via the location manager.
Explore core location demo 1 with source code to configure a CLLocationManager, start updates, handle did update locations and errors, and conserve battery life.
Learn to use the significant location changes service to monitor updates with a location manager, start and stop monitoring, and display latitude and longitude while checking for enabled services.
Display a location on a map using MapKit by adding an MKMapView, enabling showsUserLocation, and exploring San Francisco with pan, zoom, and annotations.
Explore core motion data from accelerometer, gyroscope, magnetometer, and device motion to access attitude, gravity, and rotation, enable sensors, check availability, and choose interval or periodic updates to save battery.
Explore specific interval updates for the accelerometer using core motion, including starting updates with a 1-second interval, processing x y z acceleration data, and stopping updates via a button.
Explore Core Motion by retrieving device motion data and updating it in a timer loop. Learn to access attitude, gravity, user acceleration, magnetic field, and rotation rate from Core Motion.
Master iOS7 programming in 60 days - Guaranteed
This brand new, step by step course will guide you through all the hurdles until you start coding just like the gurus.
This is by far the best and most high quality iOS 7 Video Course we have created - with over 20 hours of video training, source code and exercises spanning 118 lectures!
In addition - it comes with EDUmobile PREMIUM Support offered by our native USA experienced associate.
As a member of the EDUmobile community - you are invited today, to try it at absolutely no risk!
Designed by seasoned experts and tutors who know exactly how to present the course in a systematic step by step manner - this is by far the most thorough and complete iOS7 course available anywhere - online today... find anything better - we'll give this to you complementary!
If you've struggled with other iOS 7 online courses, that confuse you and cause you to drop out - this is exactly what you're looking for.
We've spent 4 and a half months in developing and carefully structuring this course. Our prime focus is to ensure learning is simple and done step by step through easy to follow video sessions.
The full course spans over a total of over 20 hours of high quality video training. All topics are easy to learn and presented in digestible short 5 to 15 minute videos with real world examples, demos and exercises - in addition to the live interactive support we are now offering.
At the end of this course, you will have a good understanding of how mobile apps are written on the iPhone.
The course contains discussions, demos, and exercises to test your skill. All demos come with full source code.
The course is divided into THREE main Parts (A, B, C) - each with their respective Course Units. We've also packaged a bonus course on Objective - C programming if you need to brush up your Obj C skills.
Part A, is the foundation and will get you through majority of the main foundation learning topics.
We start the course with some of the important design patterns used when developing in Objective - C for iPhones and iPads. We'll also look at the structure of iOS itself and the application lifecycle.
You will then learn how to build and control user interfaces using views and view controllers. Touch interactions are also covered.
Next, we teach the three view controller types that are important in any iPhone app: tab bars, navigation controllers, and table views. Probably 80% of all iPhone apps rely on one or more of these controller types, so this unit goes into great detail. There are six discussions and seven demos (with code included) in this unit alone!
Then we cover SQLite, a light-weight mobile database system used on both Android and Apple mobile platforms. You'll review SQL syntax and learn how to create databases and interact with them in your apps.
Parts B & C of the course cover more advanced features, such as - Threading, Audio and Video, 2D Graphics and Animation, SpriteKit and OpenGL-ES.
*BONUS* - Learn Objective C Programming from The Ground Up
If you need to brush up your Objective C skills, we're giving you a BONUS course packaged at no extra cost. This Objective C course is otherwise available as a stand alone course at a premium price.