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?"
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.
Which of these does installing Xcode NOT give you?
Organization Identifier com.pebells, Product Name TrailLog. What is the bundle identifier?
Where do you add your Apple ID so Xcode can run apps on your own iPhone?
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.
