To make an iPhone app, you need a Mac, Apple’s free Xcode app, and a little Swift code. Create a new project in Xcode, build your screens with SwiftUI, test the app in the built-in simulator and on your own iPhone, and then, if you want to publish it, join the Apple Developer Program (99 USD per year), beta test with TestFlight, and submit it for App Store review.
You can start for free. A free Apple Account lets you use Xcode and run apps on your own iPhone. You only pay when you’re ready to share the app through TestFlight or the App Store. This guide walks a complete beginner through every stage, from planning the idea to getting approved.
Quick Answer
- Get a Mac and install Xcode from the Mac App Store.
- In Xcode, create a new project and choose the App template with SwiftUI and Swift.
- Edit ContentView to build your first screen, and watch the preview update.
- Choose an iPhone simulator as the run destination and click Run.
- Pair your iPhone, turn on Developer Mode, set up signing, and run the app on the phone.
- Join the Apple Developer Program, archive the app, and upload it to App Store Connect.
- Test with TestFlight, add your App Store details, and submit for review.
In This Guide
- What you need
- What it costs
- Step 1: Plan a small first app
- Step 2: Install Xcode
- Step 3: Learn the basics of Swift and SwiftUI
- Step 4: Create your first Xcode project
- Step 5: Build your first screen
- Step 6: Run the app in the simulator
- Step 7: Run the app on your iPhone
- Step 8: Join the Apple Developer Program
- Step 9: Beta test with TestFlight
- Step 10: Submit to the App Store
- Alternatives: Swift Playground and no-code tools
- Which path should you choose?
- Troubleshooting
- Frequently Asked Questions
What You Need
This guide is based on Apple’s developer documentation as of September 2026, when the current Xcode releases are version 27.x.
- A Mac. Xcode, Apple’s app-building software, runs only on macOS and is distributed through the Mac App Store. Apple’s system requirements list macOS Tahoe 26.6 or later for the latest Xcode 27 releases. Check Apple’s Xcode system requirements page before you buy or upgrade a Mac.
- Free disk space. Xcode and its iPhone simulators are large downloads, so leave plenty of room on your drive.
- An Apple Account. The same account you use for the App Store and iCloud works for signing in to Xcode.
- An iPhone (optional but recommended). The simulator is enough to start, but you’ll want to test on a real phone. Xcode’s on-device debugging supports iPhones running iOS 17 or later.
- A USB cable that connects your iPhone to your Mac for the first pairing.
- Time and patience. Plan on learning in small sessions. Your first app can be very simple.
Only have a Windows PC? Xcode isn’t available for Windows. Some people rent access to a Mac in the cloud, but that adds cost and complexity. Read our guide to Xcode on Windows 10 before you try workarounds, and consider an iPad with Swift Playground, described later.
What It Costs
| Item | Cost | What it gives you |
|---|---|---|
| Xcode | Free | Code editor, SwiftUI previews, simulators, debugging tools |
| Apple Account (free developer access) | Free | Xcode, on-device testing on your own iPhone, developer forums, beta software |
| Apple Developer Program | 99 USD per year | App Store distribution, TestFlight, App Store Connect, advanced capabilities, code-level support |
| Apple Developer Enterprise Program | 299 USD per year | Private in-house distribution for large organizations (not for App Store apps) |
Apple’s membership comparison page lists exactly what the free and paid options include. You can enroll as an individual or as an organization. Organizations usually need extra business details during enrollment, so an individual membership is usually simpler for a first app.
Other possible costs: a website for your privacy policy, paid design assets, a Mac upgrade, and any backend services your app uses. A simple offline app can avoid most of these.
Step 1: Plan a Small First App
The most common beginner mistake is starting too big. Choose an app you can finish in a few weeks.
- Write one sentence describing the app. For example: “A tip calculator that splits the bill between friends.”
- List the must-have features. Keep it to three or four. Save everything else for version 2. This first version is often called a minimum viable product, or MVP.
- Sketch each screen on paper or in a free design tool. Note what happens when someone taps each button.
- Decide what data you need. Does the app need to save information, use the internet, or ask for the camera or location? Every permission you request needs a clear explanation for the user.
- Read Apple’s Human Interface Guidelines for iOS. They explain standard navigation, text sizes, and controls so your app feels at home on iPhone.
Good first projects include a to-do list, a unit converter, a flashcard app, a habit tracker, or a simple quiz.
Step 2: Install Xcode
- On your Mac, open the App Store app.
- Search for Xcode and make sure the developer is Apple.
- Click Get (or the download icon) and sign in if asked. Expected result: Xcode downloads to your Applications folder. The download is large and can take a while.
- Open Xcode. The first time you launch it, it may ask to install additional components or choose which platforms to download. Select iOS, since you’re building an iPhone app.
- Sign in with your Apple Account: choose Xcode > Settings > Apple Accounts and add your account.
If you later need to free up space or start over, see how to uninstall Xcode completely.
Step 3: Learn the Basics of Swift and SwiftUI
Swift is Apple’s programming language for iPhone, iPad, Mac, Apple Watch, and Apple Vision Pro apps. SwiftUI is Apple’s framework for building user interfaces. Instead of drawing every screen by hand, you describe what should appear, such as a title, an image, and a button, and SwiftUI handles the layout.
You don’t need to master Swift before starting. Learn these ideas first:
- Variables and constants (var and let) that store values.
- Types such as String for text, Int for whole numbers, Double for decimals, and Bool for true or false.
- Functions that group reusable steps.
- Arrays for lists of items.
- Views in SwiftUI, such as Text, Image, Button, VStack (a vertical stack), and HStack (a horizontal stack).
- State, marked with the State property wrapper, which tells SwiftUI to redraw the screen when a value changes.
Apple’s free learning resources are linked from its iOS get started page, including the Develop in Swift tutorials and the Introducing SwiftUI tutorial. Working through one tutorial from start to finish teaches more than reading many short articles.
Step 4: Create Your First Xcode Project
Apple has simplified the new-project flow in recent Xcode versions. You can start a basic SwiftUI app from the Welcome window or choose a template.
Quick start from the Welcome window
- Open Xcode. Expected result: the Welcome to Xcode window appears.
- From the New Project pop-up menu, choose App. Or, from anywhere in Xcode, choose File > New > Project and select App.
- When you’re ready to save, choose File > Save Project, type a name in the Save As field, and click Save.
Start from a template (more options)
- From the Welcome window’s New Project pop-up menu, choose Choose Template, or choose File > New > Project and click Choose Template.
- Select iOS at the top, then select App under Application, and continue.
- Enter a Product Name. This is the app name people see when they install it, and you can change it later.
- Choose your account from the Team pop-up menu. If it’s missing, choose Add an Account.
- Enter an Organization Identifier, usually a reversed domain such as com.yourname. Xcode combines it with the product name to create the bundle identifier, a unique ID for your app.
- Choose SwiftUI for the interface and Swift for the language, then choose a folder and click Create.
Expected result: the main Xcode window opens. The Project navigator on the left lists your files, the editor in the middle shows code, and the canvas on the right shows a live preview.
Step 5: Build Your First Screen
- In the Project navigator, click ContentView.swift. This file describes the app’s first screen.
- Look at the canvas. If the preview is paused, click the refresh or resume control in the canvas. Expected result: you see a preview of an iPhone screen, typically showing a globe icon and “Hello, world!”
- Change the text between the quotation marks, for example to “My First App.” Expected result: the preview updates within a moment.
- Add a button. Inside the stack of views, type a Button with a label such as “Tap me,” and have its action change a value marked with State. The screen updates when the value changes.
- Use modifiers such as font, padding, and foregroundStyle to change how views look. Xcode’s code completion suggests options as you type.
- Save often with Command+S.
Xcode also includes predictive code completion and coding tools that can explain or generate code. They’re useful for learning, but read and understand any code you accept before relying on it.
When you’re ready for more screens, look up NavigationStack (for moving between screens), List (for scrolling lists), and TextField (for typing). Apple’s SwiftUI tutorial covers each.
Step 6: Run the App in the Simulator
A simulator is a virtual iPhone that runs on your Mac. It’s the fastest way to test.
- In the toolbar at the top of Xcode, open the run destination pop-up menu (next to the scheme name).
- Choose an iPhone simulator, such as a recent iPhone model.
- If a Get button appears because iOS platform support isn’t installed, click it and wait for the download.
- Click the Run button (the triangle) or choose Product > Run. Expected result: Xcode builds the app, and a simulated iPhone opens with your app running. In current Xcode versions, simulators run inside a window Apple calls Device Hub.
- Click and type in the simulator to use the app as you would on a phone.
- Click the Stop button in the toolbar when you’re done.
If the build fails, click the red error indicators in the toolbar’s activity area to open the Issue navigator and read the messages. Beginners usually see typos, missing brackets, or a misspelled view name.
Simulators don’t reproduce every hardware feature or the exact performance of a real phone, so always test on a physical iPhone before release.
Step 7: Run the App on Your iPhone
You can do this with a free Apple Account. Apple’s guide to running apps on simulated or physical devices has the full details.
Pair your iPhone
- Connect your iPhone to your Mac with a cable and unlock the phone.
- If the iPhone asks whether to trust this computer, tap Trust and enter your passcode.
- In Xcode’s run destination menu, choose Manage Devices and follow the prompts to pair the phone with your Mac.
Turn on Developer Mode
Before you do this: Developer Mode lets your iPhone run apps you build yourself, and Apple warns that it reduces the device’s security. Turn it off when you no longer need it.
- On the iPhone, open Settings > Privacy & Security.
- Scroll to the Security section and turn on Developer Mode. This option only appears after you start pairing with a Mac.
- Tap Restart in the alert.
- After the restart, swipe up, tap Enable, and enter your passcode.
Set up signing and run
- In Xcode, click your project at the top of the Project navigator, select the app target, and open the Signing & Capabilities tab.
- If you see Set Up Signing, click it, choose your team, enter a unique bundle ID, and click Set Up. Otherwise, turn on Automatically manage signing and choose your team.
- Choose your iPhone as the run destination. If a Register button appears under Signing, click it.
- Click Run. Expected result: Xcode installs the app on your iPhone and opens it.
With a free account, this is for testing on your own devices only. To give the app to others, you need the Apple Developer Program.
Step 8: Join the Apple Developer Program
Before you pay: make sure your app works well on your own phone first. The membership is annual, so you pay again each year you want to keep distributing apps.
- Go to the Apple Developer Program page (developer.apple.com/programs) and choose to enroll.
- Sign in with your Apple Account. If Apple asks you to turn on two-factor authentication, follow the prompts.
- Choose to enroll as an individual or an organization, and follow the prompts to confirm your details.
- Pay the membership fee. Expected result: after Apple processes your enrollment, you get access to App Store Connect, Apple’s website for managing your apps.
- In App Store Connect, the Account Holder must accept the latest agreements before you can add apps.
Step 9: Beta Test With TestFlight
TestFlight is Apple’s beta testing service. Testers install the free TestFlight app and use it to install your beta.
Create an app record
- Sign in to App Store Connect and open Apps.
- Click the add button (+) at the top left and choose New App.
- Select iOS, then enter the app name, primary language, bundle ID (the same one used in Xcode), and an SKU, which is your own internal reference code.
- Choose user access and click Create. Expected result: the app appears with the status Prepare for Submission.
Upload a build from Xcode
- In Xcode, choose your app scheme and a run destination for iOS devices.
- Choose Product > Archive. Expected result: the Organizer window opens with your new archive.
- Optionally click Validate App to catch problems before uploading.
- Click Distribute App, choose TestFlight & App Store (or TestFlight Internal Only if this build should never reach the store), and click Distribute.
Since April 28, 2026, uploads must be built with Xcode 26 or later using the iOS 26 SDK, and since September 9, 2026, iOS apps must target iOS 13 or later. Using the current Xcode keeps you within these rules.
Invite testers
- Internal testers: up to 100 people on your App Store Connect team.
- External testers: up to 10,000 people, by email or with a public link. The first build you add to an external group goes through a review.
- Each build can be tested for up to 90 days.
More detail is on Apple’s TestFlight page. Ask testers to try the app on different iPhone models, with poor connections, and with larger text sizes.
Step 10: Submit to the App Store
- In App Store Connect, open your app and fill in the version information: description, keywords, support URL, screenshots, and app icon.
- Add a privacy policy link and complete the privacy questions about what data your app collects.
- If your app needs a sign-in, provide a working demo account in the App Review Information section.
- Select the build you uploaded.
- Click Submit for Review. Expected result: the status changes, and Apple emails you as the review progresses.
- If approved, the app is released according to the release option you chose in App Store Connect, such as releasing it yourself or automatically after approval.
Apple says that on average, 90 percent of submissions are reviewed in less than 24 hours. According to Apple, more than 40 percent of unresolved issues relate to app completeness: crashes, bugs, broken links, placeholder content, and missing information. Avoid rejections by:
- Testing every screen and button before you submit.
- Removing placeholder text and images.
- Making sure screenshots show the real app.
- Explaining clearly why you request permissions such as camera or location.
- Offering real value, not just a wrapped website.
Read Apple’s App Review page and the App Store Review Guidelines before submitting. If your app is rejected, App Store Connect explains why, and you can fix the issue and resubmit.
Alternatives: Swift Playground and No-Code Tools
Swift Playground
Swift Playground is a free Apple app for iPad and Mac that teaches coding. You can build SwiftUI apps in it and even submit an app to App Store Connect, and you can open projects in Xcode later for more advanced work. It’s a friendly starting point, especially if you have an iPad but no Mac.
No-code and low-code builders
Some online services let you build apps by dragging components instead of writing code. They can be fast for simple business apps or prototypes. Keep these trade-offs in mind:
- Many charge a monthly subscription, and publishing features may require a higher plan.
- You’re limited to the features the platform supports.
- Moving your app to another platform later can be hard.
- You still need your own Apple Developer Program membership to publish on the App Store in most cases.
- Apple reviews these apps like any other, and apps that feel like a simple website may be rejected.
Which Path Should You Choose?
| Your situation | Suggested path |
|---|---|
| You want to learn real iPhone development | Xcode with Swift and SwiftUI |
| You have an iPad but no Mac | Swift Playground |
| You need a simple business app quickly | A no-code builder, after checking its costs and limits |
| You need a complex app with servers and payments | Learn Xcode, or hire an experienced developer |
Troubleshooting
Xcode won’t install from the App Store
Check that your Mac runs a macOS version the latest Xcode supports and that you have enough free space. Older Macs that can’t update may need an older Xcode, but apps you upload must still meet Apple’s current SDK requirements.
The preview canvas doesn’t appear or is paused
Make sure a SwiftUI file such as ContentView.swift is open, then use the canvas controls to resume. Build errors elsewhere in the project can stop previews, so fix those first.
Developer Mode isn’t in Settings
The option appears only after you start pairing the iPhone with a Mac in Xcode, or if you paired it before. Connect the phone, unlock it, and try pairing again.
Signing errors or “bundle identifier isn’t available”
Bundle IDs must be unique. Change the organization identifier or bundle ID to something only you would use, choose your team, and let Xcode manage signing automatically.
The app crashes on the phone but not in the simulator
Check the debug area for error messages. Features like the camera behave differently on real hardware, and missing permission descriptions can cause crashes when the app asks for access.
My app was rejected
Read the message in App Store Connect, find the guideline it cites, fix the problem, and resubmit. Common causes are crashes, incomplete information, and privacy policy issues.
Frequently Asked Questions
Can I make an iPhone app for free?
Yes, you can build and test on your own iPhone for free with Xcode and an Apple Account. Publishing through TestFlight or the App Store requires the 99 USD per year Apple Developer Program.
Do I need to know how to code?
For Xcode, yes, but you can learn as you go. Swift and SwiftUI are designed to be readable, and Apple’s free tutorials start from zero. No-code tools are an option if you’d rather not code.
How long does it take to make a simple app?
It depends on your experience and the app. A very simple app can be built in days once you know the basics, while learning Swift from scratch usually takes weeks to months of regular practice.
Can I make an iPhone app on Windows?
Not with Xcode, which runs only on a Mac. Options include using a Mac, renting a cloud Mac, using Swift Playground on an iPad, or using a no-code builder.
How long does App Store review take?
Apple says 90 percent of submissions are reviewed in under 24 hours on average. Rejections and resubmissions add time.
Do I have to pay the 99 USD fee every year?
Yes, the Apple Developer Program is an annual membership. Renew it each year you want to keep distributing apps.
Can the same app run on iPad?
Often, yes. SwiftUI apps can adapt to larger screens, and Xcode lets you choose supported devices. Test on an iPad simulator to check the layout.
Summary
- Use a Mac and install Xcode from the Mac App Store.
- Learn basic Swift and SwiftUI with Apple’s free tutorials.
- Create an App project, build screens in ContentView, and use previews.
- Test in the simulator, then on your iPhone with Developer Mode and signing.
- Join the Apple Developer Program, archive the app, and upload it.
- Beta test with TestFlight, complete your App Store details, and submit for review.
Next step: install Xcode today, create a new App project, and change “Hello, world!” to your own text to see your first change in the preview.

Kermit Matthews is a freelance writer based in Philadelphia, Pennsylvania with more than a decade of experience writing technology guides. He has a Bachelor’s and Master’s degree in Computer Science and has spent much of his professional career in IT management.
He specializes in writing content about iPhones, Android devices, Microsoft Office, and many other popular applications and devices.