What You Need
Book Source Code & Forums
Dedications
About the Team
About the Authors
About the Editors
Chapter 1: Introduction
What is this book about?
Who is this book for?
The sample project
Signing up for an API Key
Key points
Where to go from here?
Chapter 2: Laying Down a Strong Foundation
Feature grouping
Software isn’t written in stone
The app’s domain
Planning the app
Animals Near You
Searching animals
Onboarding
Understanding an offline-first approach
Modeling domain models
Key points
Where to go from here?
Chapter 3: Data Layer - Networking
Getting started
Demystifying the data layer
async/await
Creating the networking brain
Layering on top of the brain
Fetching the authentication token
Animals fetching request
Using AccessTokenManager to persist token
Writing unit tests
Challenge
Key points
Where to go from here?
Chapter 4: Defining the Data Layer - Databases
The benefits of persistence
Defining a database schema
The Persistence class
Swift structs and Core Data classes
Storing data
Deleting data
Fetching data
Enabling CloudKit support
Challenge
Key points
Where to go from here?
Chapter 5: Building Features - Locating Animals Near You
Building Animals Near You
Using View Models
Creating AnimalFetcher
Creating a service for storing animals
Adding infinite scrolling
Improving the UI
Testing your view model
Key points
Where to go from here?
Chapter 6: Building Features - Search
Building Search
Extracting Animal List view
Filtering locally
Searching Petfinder’s API
Handling empty results
Filtering animals by age and type
Testing your view model
Key points
Where to go from here?
Chapter 7: Multi-Module App
Modularization
Benefits of modularization
What is a framework?
Creating a dynamic onboarding framework
What is Cocoapods?
What is Carthage?
What are Swift packages?
Differences between dependency managers
Creating and configuring a Swift package
Publishing the Swift package
Consuming the Swift package
Key points
Where to go from here?
Chapter 8: Navigation
Navigation view
Navigation link
Types of navigation
Passing data between views
Navigating using a router
Navigating using a router to a UIViewController
Presenting views
Using tab view
Deep link navigation with tab view
Key points
Where to go from here?
Chapter 9: Adding Animations & Custom Controls
Apple Human Interface Guidelines
Feedback
Direct manipulation
Key points
Where to go from here?
Chapter 10: Implementing Accessibility
Why design for accessibility?
Best practices in the Apple Human Interface Guidelines
Text
VoiceOver
Navigation
Color and contrast
Using the Accessibility Inspector
Key points
Where to go from here?
Chapter 11: Customizing the Look & Feel of Your App
Defining look and feel
Launch Screen
Using onboarding
Crafting the finer details
Internationalization and localization
Key points
Where to go from here?
Chapter 12: App Privacy
Why privacy is important
iOS privacy features
Adding location to find pets near you
The new Location button
Updating Animals Near You to request authorization
Sending location data in the request
Requesting authorization when in use
Location accuracy
Updating the tests
App Store’s Privacy section
Key points
Where to go from here?
Chapter 13: Debugging
Debugging
Xcode debugging tools
Breakpoints
Method call stack
Debugging views
Instruments
Retain cycle
Key points
Where to go from here?
Chapter 14: Deploying to the App Store
Getting Started
Understanding the Apple ID
Apple’s Developer Program
Setting up Xcode
Understanding the App Store app page
Uploading a build
Submitting your app for review
Using TestFlight to beta test your app
Key points
Where to go from here?
Conclusion
Working on app development can be hard, there's a lot of documentation out there, but developers struggle to find a clear template when deciding things like app architecture, how to persist data and how to create robust and scalable code.
That's where Real-World iOS by Tutorials comes to the rescue! This book will guide you from an idea for an app to creating code that can scale and explain the decision are taken, step by step.
This book is for developers with some experience with iOS development, but that need some guidance on how to create robust and scalable apps.
Topics Covered in Real-World iOS by Tutorials
One thing you can count on: after reading this book, you’ll be prepared to create your own professional iOS apps.