iOS Pathway
Get started with this easy-to-navigate collection of videos, documentation, and tools to build great apps and games.
Get to know iOS
iOS and the iOS SDK provide access to a comprehensive set of powerful capabilities that let you easily deliver features in your apps and games on iPhone. And with industry-leading security and privacy protections built in, you’re free to focus on your ideas.
Assemble your toolbox
Xcode offers the tools you need to develop, test, and distribute apps for all Apple platforms, including intelligent code completion, simulators for Apple devices, advanced profiling and debugging tools, and more.
Swift is a powerful and intuitive programming language for all Apple platforms. It’s easy to get started using Swift, with a concise-yet-expressive syntax and modern features you’ll love. Swift code is safe by design and produces software that runs lightning‑fast.
SwiftUI helps you build great-looking apps across all Apple platforms with the power of Swift — and surprisingly little code.
Dive into design
To create a great experience, your app needs an appealing UI, intuitive interactions, an easy-to-understand layout, and relevant content. Most importantly, you want an interface that feels natural on iPhone.
While designing your app, keep Apple’s Human Interface Guidelines (HIG) close at hand. The HIG offers invaluable information on how to design your app’s interface, navigate content, and manage interactions. We also encourage you to explore the relevant sections of the Apple Design Resources.
And if you’re looking for a little design inspiration, check out these great foundational design videos:
Adopt best practices
Make sure your app offers the best possible experience for everyone by keeping these practices in mind:
Prioritize privacy
At Apple, we believe privacy is a fundamental human right. Access user or device data only with the user’s informed consent obtained in accordance with applicable law. In addition, take appropriate steps to protect user and device data, and be transparent about how you use it. If you collect data, offer a privacy statement that explains what you collect and how you use that information.
Secure the data you collect and store
If you do collect data, make sure you protect that data from malicious attacks. Adopt passkeys as a secure alternative to passwords. Store personally identifiable information, financial data, or other sensitive data in the user’s encrypted keychain.
- Learn more about passkeys
- Learn more about keychain services
- Learn more about Apple security technologies
Audit your accessibility support
Apple builds accessibility support right into its technologies, but screen readers and other accessibility features rely on information your app provides. SwiftUI and UIKit can describe each piece of your UI, but only you know how those pieces work together. Review accessibility labels and other descriptions to make sure they provide helpful information, and make sure focus-based navigation is simple and intuitive.
Internationalize and localize your app
Embrace a global market by localizing your app for other regions and languages. Prepare your app using the Foundation framework, which provides code to format strings, dates, times, currencies, and numbers for different languages and regions. Ensure your UI looks good for both left-to-right and right-to-left languages. Localize app resources and add them to your Xcode project.
- Learn more about the Foundation framework
- Learn more about right-to-left languages
- Learn more about localization
Design for everyone
Consider social and cultural differences when developing content. Empathy is an important tool because it helps you understand how people with different perspectives might respond to the content and experiences you create.
Test and debug your app thoroughly
During the development cycle, address problems as they arise using the built-in Xcode debugger.
Optimize performance
Identify bottlenecks and other performance issues in your code with the Instruments app tool in Xcode. Profile your running code, find memory leaks, analyze resource usage, and much more.
Build for multiple Apple platforms
If you start development on iOS, consider adding support for iPadOS at the same time. iOS and iPadOS share many of the same technologies, making it easy to support both with the same executable.
Reuse SwiftUI views and UI on all Apple platforms
You can reuse nearly all of your app’s structural and data-based code on any Apple platform. The universal availability of SwiftUI makes it an ideal choice for development, and reduces the time it takes to deliver custom versions of your apps on different platforms.
Run your iOS app unmodified on Macs with Apple silicon
Modernize the iOS apps you choose to run on a Mac with Apple silicon.
Distribute your app
The App Store lets you easily deliver apps, games, and services to customers on iPhone.
Choose a business model
Distribute your app or game on 175 storefronts on the App Store. Choose from a variety of business models, including free, freemium (free with optional In-App Purchases), paid, and more. Select your business model early in your app development to better provide people with a great app experience.
Go further
Ready to level up your skills? Dive into iOS app documentation to access more advanced and comprehensive resources for growing and expanding your app’s features and reach.