Pebellslearn by building
0%
RoadmapsMatrixCoursesSandboxSign in
Xcode  ›  Lesson

Installing Xcode and Starting a Project

New Project 12 minXcode is installed on a Mac as one package with the compiler, SDK and Simulator, and a new project sets a permanent bundle identifier and optionally a Git repository.

Installing Xcode and Starting a Project

TrailLog begins as an empty folder and a name. The first ten minutes — installing the tools and filling in the new-project form — decide things you will live with for the app's whole life, like its bundle identifier. Doing them deliberately saves painful renames later.

The rule

Xcode is the whole kit; the bundle identifier is the app's permanent name.

Installing. Xcode runs only on macOS and is free from the Mac App Store (or Apple's developer site for specific versions). One download brings everything: the Swift compiler, the iOS SDK, Simulator for running apps on virtual iPhones, Interface Builder, Instruments for profiling, and command-line tools. Simulator runtimes for extra iOS versions are added from Xcode's settings.

Settings (called Preferences in older versions, opened with ⌘,) holds a few things worth setting once:

  • Accounts — sign in with your Apple ID so Xcode can sign apps and run them on your own iPhone.
  • Themes and Text Editing — fonts, colours, line numbers, indentation.
  • Components (Platforms in some versions) — download simulator runtimes.

New Project (File ▸ New ▸ Project) asks for:

Field TrailLog's value Why it matters
Template iOS ▸ App Starts a runnable single-window app
Product Name TrailLog Default app and target name
Organization Identifier com.pebells Your reverse domain name
Bundle Identifier com.pebells.TrailLog Built from the two above; identifies the app forever
Interface Storyboard or SwiftUI Which UI framework the template sets up
Language Swift

The bundle identifier is how iOS, the App Store and iCloud recognise your app. Once an app is published it cannot change without becoming a different app.

The last screen asks where to save, with a checkbox to create a Git repository. Tick it: Xcode commits nothing on its own, but it sets up version control so every later change can be tracked and undone.

The shortcut

Before clicking Create, read the bundle identifier aloud and ask: "Would I be happy with this name in five years?"

Creating TrailLogStep 1 of 4
  1. Pick the template

    iOS ▸ App gives a working app with one screen. Other templates (games, frameworks) add things TrailLog does not need.

The trap is a throwaway identifier like com.example.Test. It works on day one and becomes a problem when you try to publish.

Drills

Answer fast — trust the rule.

quick drill

Which of these does installing Xcode NOT give you?

quick drill

Organization Identifier com.pebells, Product Name TrailLog. What is the bundle identifier?

quick drill

Where do you add your Apple ID so Xcode can run apps on your own iPhone?

quick drill

Why does the bundle identifier deserve care on day one?

Remember

  • Xcode is the whole kit: compiler, SDK, Simulator, Interface Builder — macOS only.
  • New project: iOS ▸ App, a reverse-domain organization identifier, and Git ticked.
  • Trap: a throwaway bundle identifier that you cannot change after release.

Practice — level up

0/1 solved

Write your answer, then compare it with a rubric and a model answer.

ExplainFill in the new-project form

You are creating a second app, a trail-running timer, for the organisation that owns the domain pebells.com. Fill in the template, product name, organization identifier and resulting bundle identifier, and explain why the bundle identifier and the Git checkbox deserve care.