Relationship with Apple
iPhone application development means working with Apple. To develop iPhone apps, you need to register with the iPhone Dev Center. To test apps on an iPhone, you need to sign up for the iPhone Developer Program. To post apps on the App Store, you need an iTunes Connect account.
iPhone Dev Center
- Sign Up
- Download iPhone SDKs
- Find Sample Code and Documentation
iPhone Developer Program
- Sign Up
- Visit the Program Portal
- Build Your Team
- Obtain Signing Certificates
- Assign Devices (iPhone or iPod Touch)
- Generate App IDs
- Create Development Provisioning Profiles
- Test on Device
iTunes Connect
- Sign Up
- Sign Paid Applications Contract
- Gather Application Metadata
- Prepare Application Artwork
- Create Distribution Provisioning Profiles
- Make a Distribution Build
- Upload Your Application
- Update Your Application
- Distribute Your Application with Ad Hoc Distribution
- View Sales/Trends Reports
- View Financial Reports
iPhone Development Tools
Apple provides a full range of developer tools for iPhone development. The Xcode IDE provides project management, editing, building, and debugging services. The iPhone Simulator helps you test apps on your Mac. Interface Builder enables drag-and-drop GUI design. Instruments provides profiling including hotspot and memory leak detection.
Xcode
- Project Management
- Files
- Groups
- Smart Groups
- Frameworks
- Snapshots
- Subversion Source Control
- Editing
- Navigation
- Code Completion
- Refactoring Transformations
- Research Assistant
- Building
- Warnings and Error Messages
- Build Results
- Configurations
- Targets
- Build Phases
- Debugging
- Breakpoints
- Watchpoints
- Symbolic Breakpoints
- Monitoring Expressions
- Debugger Strip
- Datatips
- Data Formatters
- Mini Debugger
- Debugger Window
- Console Window
- Load Symbols Lazily Option
iPhone Simulator
- Multi-touch
- Rotation
- Simulate Low Memory Warning
- Set Hardware Version
Interface Builder
- Nib Files
- Nib Objects
- iPhone Interface Objects
- Library
- Layout
- Inspector
- Attributes
- Connections
- Refactoring
- Localization
- Nib Bugs
- How to Live without Nib.
Instruments
- Trace Documents
- Trace Pane
- Trace Details
- ObjectAlloc
- Leaks
- Sampler
- Shark
The iPhone Platform
iPhone applications fill the whole screen of the iPhone. When you touch the screen, apps receive multi-touch events. They can store data locally and access the web. Apps can play sounds and video, show system specific interface and 3D games. Monitor acceleration, location, take photos, record audio, and probably more.
Application Architecture
- Life Cycle
- Event Loop
- Bundles
- System Events
- Internationalization
Windows and Views
Controllers
- View Controllers
- Table View Controllers
- Table View Cells
- Navigation Controllers
- Tab Bar Controllers
Touch Events
Graphics
- Quartz
- OpenGL ES
- Core Animation
Files
- Property Lists
- User Defaults
- SQLite
- NSData, NSFileHandle, NSFileManager
Networking
- Web Views
- NSURL, NSURLCache
- NSStream
- CFNetwork
- Preferences
Multimedia
- Sound: Play, Record, Stream, Vibrate
- Video
- Photos: Take Them or Pick from iPhoto
- Accelerometer Events
- Location
|