Course Outline
App School is taught over five consecutive days, beginning with an introduction to the iPhone SDK (Software Development Kit) and finishing with optimising profit made from App sales.
Please note that this outline is subject to change.
Day 1
- Introduction to the iPhone/iPad SDK
- iPhone Developer Portal: Setting up your environment (certificates, provisioning profiles)
- Interface Builder: Creating a user interface for an iPhone App
- Xcode: Putting code behind your interface, and debugging that code
- Introduction to Objective-C: the language used to develop all Apps
- How are classes defined? How do Objective-C objects interact?
- What data types are available?
- Memory-management features available in Objective-C (and iPhone limitations)
- Objective-C 2.0 features, including properties
- Key-Value Coding/Key-Value Observing
Day 2
- Introduction to Cocoa Touch
- Architecture of iPhone application interfaces: windows, applications, views/view controllers, navigation bars/navigation controllers, bar buttons
- Exploration of various user interface controls available for use, from simple text boxes and buttons to more complex controls such as table and web views
- Interacting with controls: delegates and data sources
- Interacting with the user’s data
- Picking people from the address book
- Picking pictures from the photo library… or creating a new picture with the iPhone’s camera
- Picking songs from the iPod library
Day 3
- Important basic data structures: Foundation framework
- Strings
- Numbers
- Enumeration
- Dates/Times
- Timers/Threads
- Data Streams
- iPhone/iPad hardware interaction
- Detecting device orientation and responding to movement with the accelerator
- Listening for sound
- Making sounds
- Geo-tagging: finding the device’s location/orientation in the world (GPS and magnetometer/compass with Core Location) and map it with Map Kit
- Creating multi-touch interfaces
Day 4
- Connecting to other iPhones and computers
- Discovering local devices
- Socket programming with Core Foundation Network
- Using Game Kit to communicate with other iPhones—game and voice data
- Getting notified of events even when your app isn’t running with Push Notification
- The Media Layer
- Playing back audio and video
- Drawing 2D graphics with Quartz
- Introduction to 3D graphics programming
- Animated interfaces with Core Animation
Day 5
- Performance profiling and optimisation: making your App fast and efficient
- From iPhone to iPad
- Creating an iPad App
- Converting to a Universal App
- Split Views and Popovers
- Going live with iTunes Connect: Getting your App on the App Store
- Selling your App:
- Choosing the right price
- Getting people to look at it
- Maximising your cut of the sales
- Selling on the global market
- Utilising micro-transactions to get profit beyond initial App Store sales
