An iOS app follows the Model-View-Controller design very closely. As a PM, understanding this helps you communicate better with your engineers.
iOS powers Apple's mobile devices — from iPhones and iPads to Apple TV. It was launched in 2007 alongside the first iPhone. The apps you use on these devices are called iOS apps and are distributed through the Apple App Store. The programming languages used to build them have evolved; Objective-C was the original language, but now Swift is the primary language for new development.
As a product manager, your actual job is to understand enough about the iOS platform to make informed product decisions, write feasible specs, and communicate clearly with your engineers.
The iOS app development lifecycle requires your involvement early and often
Taking an idea to a working iPhone app involves several stages:
- Discovery of the idea. This is where you identify the problem or opportunity.
- Refining the concept and objectives. You sharpen the idea into clear goals.
- Creating the technical specification. This document guides engineers on what to build.
- Wireframing and design. You work with designers to prototype the user interface, often using tools like Sketch.
- Handoff to engineering. The software architect or engineers take over to write the code.
- Coding, testing, and launch. Engineers build the app, test it thoroughly, and ship it on the App Store.
As a PM, you are typically responsible for the first three steps. But your work depends heavily on understanding what is technically possible during design and coding. This means collaborating closely with your design and engineering teams to ensure the product vision aligns with platform capabilities.
Sprint planning with iOS engineers
You (PM): “Can we support dark mode in this release? What about iOS 16 features?”
Engineer: “Dark mode is straightforward. For iOS 16 widgets, we need to allocate design and dev time.”
You (PM): “Let's prioritize dark mode first. We can scope widgets for a later release.”
The PM balances feature desirability with technical feasibility and resource constraints.
Balancing user expectations with engineering capacity
The MVC architecture is the backbone of iOS apps
iOS apps follow the Model-View-Controller (MVC) design pattern. This is fundamental to how the app is structured and how it behaves.
- Model: The data and business logic. For example, user profiles, settings, or messages.
- View: The user interface components that display data — screens, buttons, lists.
- Controller: The intermediary that manages communication between models and views. It handles user input, updates views, and manipulates models.
Each screen in your app usually corresponds to a view controller, which manages one view and its subviews. When the app launches, a single UIApplication instance manages the app lifecycle, including events like orientation changes, touch input, and app state transitions.
Understanding MVC helps you appreciate how changes in one part affect the others. For example, adding a new feature often means updating the model (data), creating views (UI), and writing controller logic (interaction).
Key iOS frameworks and layers you should know about
iOS architecture has multiple layers, but as a PM you typically focus on the Cocoa Touch layer, which includes:
- UIKit: The UI framework for building app interfaces.
- MapKit: For embedding maps and location features.
- PushKit: For push notifications.
- In-App Purchases: Managing payments within the app.
- GameKit, EventKit: Specialized frameworks for games and calendar events.
Beneath Cocoa Touch are the Core Services (like databases, networking) and Media Layer (audio, video processing), which you might touch indirectly via feature requirements.
The Integrated Development Environment (IDE) used to build iOS apps is Xcode. It includes tools for coding in Swift or Objective-C, testing, and debugging. Engineers use it to create your app's codebase.
The difference between iOS and Android app development
Both platforms solve similar problems but approach them differently. For example, Android uses Activities to represent screens, while iOS uses View Controllers. Both follow MVC, but the implementation details differ.
Knowing these differences is useful if you work on cross-platform products or coordinate with Android teams.
The PM's role in iOS app development is strategic and collaborative
Your responsibilities include:
- Translating user needs into technical specs that respect iOS capabilities.
- Coordinating between design and engineering to ensure prototypes are feasible.
- Prioritizing features based on platform constraints and user impact.
- Understanding the app lifecycle to plan releases, updates, and maintenance.
- Communicating clearly about dependencies, risks, and timelines.
You are the PM at a Series A startup building an iOS app for a fitness tracker. The engineering lead says adding Apple HealthKit integration will delay the release by 4 weeks. The CEO wants to launch on time to capture market momentum.
The call: How do you decide whether to include HealthKit integration in the first release? How do you communicate this to stakeholders?
Your reasoning:
You are the PM at a Series A startup building an iOS app for a fitness tracker. The engineering lead says adding Apple HealthKit integration will delay the release by 4 weeks. The CEO wants to launch on time to capture market momentum.
Your task: How do you decide whether to include HealthKit integration in the first release? How do you communicate this to stakeholders?
your reasoning:
Common pitfalls in iOS app product management
- Ignoring platform guidelines: Apple has strict Human Interface Guidelines. Disregarding these leads to app store rejections or poor user experience.
- Underestimating testing needs: iOS apps must support multiple devices and OS versions. Testing on simulators and real devices is critical.
- Poor communication with engineers: Without understanding iOS architecture, PMs write specs that are infeasible or inefficient.
- Overloading the first release: Trying to build all features at once leads to delays and technical debt.
Pick a feature from your current or past product that is an iOS app. Write down:
- The Model: What data does this feature use or change?
- The View: What UI elements does the user interact with?
- The Controller: What logic connects the user actions to data changes?
This exercise helps you think in iOS architecture terms and improves your collaboration with engineers.
Feature prioritization meeting
You (PM): “The push notification framework is ready. Should we add in-app purchases now or after launch?”
Engineer: “In-app purchases need some backend support, which will take 3 weeks.”
Designer: “We can mock the UI for now to test user flows.”
You (PM): “Let's launch without purchases, focus on core features, and plan purchases for the next sprint.”
Prioritization balances technical effort with user value and business goals.
Deciding what to build now versus later
Where to go next
- Learn how to design user experiences for mobile: Mobile UX Design Fundamentals
- Understand Android app development basics: Android Mobile Apps
- Master backlog prioritization techniques: Backlog Management
- Explore Agile software development practices: Agile and Scrum for PMs
PL alumni now work at Flipkart, Razorpay, Swiggy, PhonePe, and other leading Indian companies.