The best way to learn and master iOS development is to read the official documentation. It can be boring but you can trust its accuracy and the inforamtion will be presented without opinion.
Read documents in order where indicated.
- Error handling and debugging
- Networking
- Data structures
- Persistent storage
- Concurrency
- Performance
- Security
- Location
- Graphics
If you're new to iOS development, then start here. However, even if you're an advanced iOS developer the Human Interface Guildines (commonly known as the HIG) ought to be your main resource when designing apps.
- Start Developing iOS Apps Today
- iOS Technology Overview
- iOS Human Interface Guidelines (HIG)
- App Programming Guide for iOS
- Concepts in Objective-C Programming
- Programming with Objective-C
- Objective-C Runtime Programming Guide
- Adopting Modern Objective-C
- A Short Practical Guide to Blocks
- Blocks Programming Topics
- Core Foundation Design Concepts
These documents offer more insight into basic classes, objects and data structures of the Foundation framework. There is no order to these, but you ought to read them front to back.
- String Programming Guide
- Attributed String Programming Guide
- Number and Value Programming Topics
- Date and Time Programming Guide
- Binary Data Programming Guide
- Archives and Serializations Programming Guide
- Data Formatting Guide
- Coding Guidelines for Cocoa
- Cocoa Core Competencies
- Exception Programming Topics
- Error Handling Programming Guide
- LLDB Quick Start Guide
- Basic debugging with the NSLog function and the DEBUG preprocessor macro
- Understanding and Analyzing iOS Application Crash Reports
- Debugging Deployed iOS Apps
- View Programming Guide for iOS
- View Controller Programming Guide for iOS
- Table View Programming Guide for iOS
- Text Programming Guide for iOS
- Scroll View Programming Guide for iOS
- Document Picker Programming Guide
- Calendar and Reminders Programming Guide
- Bundle Programming Guide
- Resource Programming Guide
- Internationalization and Localization Guide
- Location and Maps Programming Guide
- Undo Architecture
- Networking Overview
- Networking Concepts
- URL Loading System Programming Guide
- DNS Service Discovery Programming Guide
- Local and Push Notification Programming Guide
- Bonjour Overview
- Core Bluetooth Programming Guide
- Stream Programming Guide
- HTTP Live Streaming Overview
- Timed Metadata for HTTP Live Streaming
- Key-Value Coding Programming Guide
- Key-Value Observing Programming Guide
- Event Handling Guide for iOS
- Core Data Core Competencies
- Core Data Programming Guide
- Incremental Store Programming Guide
- Core Data Model Versioning and Data Migration Programming Guide
- Atomic Store Programming Topics
- Core Data Snippets
- Property List Programming Guide
- Preferences and Settings Programming Guide
- Preferences Programming Topics for Core Foundation
-
Framework Programming Guide
-
File System Programming Guide
-
SDK Compatibility Guide
-
Xcode Overview
-
Auto Layout Guide
-
Testing with Xcode
-
Notification Programming Topics
-
iOS Simulator User Guide
Read these documents ad-hoc
- Interface Builder Help
- OS X
- Runtime Configuration Guidelines
-
App Extension Programming Guide
-
Handoff Programming Guide
-
iCloud Design Guide
-
String Programming Guide for Core Foundation
-
Date and Time Programming Guide for Core Foundation
-
Information Property List Key Reference
- Performance Overview
- Memory Usage Performance Guidelines
- Advanced Memory Management Programming Guide
- Instruments User Guide
- Cellular Best Practices Guide
- Security Overview
- Secure Coding Guide
- Keychain Services Programming Guide
- Cryptographic Services Guide
- Certificate, Key, and Trust Services Programming Guide
Location and Maps Programming Guide
- Drawing and Printing Guide for iOS
- Quartz 2D Programming Guide
- Image I/O Programming Guide
- Core Image Programming Guide
- Animation Types and Timing Programming Guide
- Core Animation Programming Guide
- SpriteKit Programming Guide
- OpenGL ES Programming Guide for iOS
- AV Foundation Programming Guide
Metal is for 3D graphics. I don't know a damn thing about 2D animation nevermind 3D. But, I put these documents here because I would like to learn about them.
-
Memory Management Programming Guide for Core Foundation
- Core Foundation Design Concepts
- Collections Programming Topics for Core Foundation
- Core Text Programming Guide