How I setup a new Mac for iOS development

I purchased a new 14" MacBook Pro M1 Max. I am going to walk through how I setup my Mac for iOS app development. Some apps are for my own personal apps like iHog and Coffee_ and some are a requirement for a freelance client. I am also going to explain some settings that instantly get changed.

Unboxing video

System Preferences

Here is a list of system preferences that I change any time I get a new mac.

Trackpad

Trackpad settings
  • Tap to click - I prefer to tap instead of press on the trackpad.
  • Tracking Speed - I always increase the tracking speed. I started doing this once I got my ultrawide since I use a trackpad as my main input. The default speed feels really slow now.

Dock & Menu Bar

I toggle a couple settings in the Dock & Menu Bar also

Dock and menu bar settings
  • Dock Position on screen - Left
  • Automatically hide and show Dock - Turn on
  • Spotlight - Turn off
  • Siri - Turn off
🤑
Some of the links below are referral links and help keep my site going

Apps

Here are the apps that I download that make my macOS experience the best. It is separated in general categories.

General apps

  • Craft for note taking
  • 1Password to store and recall passwords across my devices
  • Raycast as a spotlight replacement tool
  • Orbit to track time
  • Setapp to download more apps. It's a subscription based store that allows access to a lot of apps that are usually subscription based also, so it helps me save a little bit of money. Most if not all of these apps can be purchased without Setapp.
  • Cleanshot X (downloaded on SetApp) for screenshot and screen recording
  • Bartender 4 (downloaded on SetApp) to manage the menubar

Communication

  • Slack for networking groups and freelance projects
  • Discord for other social groups and also freelance discussions

Development

  • Xcode - iOS app development needs Xcode, so this is a default one to download. I sometimes download from the App Store, but this time, I decided to download it from the Apple Developer website. I am tired of it automatically updating
  • Docker desktop app - This is only require for freelance projects
  • VSCode - There's always a need to edit non-swift files and my go to editor is VSCode
  • Paw (from SetApp) - Tests API calls. Sometimes I use Postman, but since it's on SetApp, why not use it?

Terminal configuration

I have some dotfiles on my GitHub to help my terminal look better and work for me more.

Terminal Screenshot
  • iTerm 2 - Terminal replacement
  • Homebrew for package management
  • SSH Keys for GitHub and GitLab - Some freelance is on GitLab, so I have to setup SSH keys on there and my personal projects are on GitHub. I use SSH because it's just a tad easier
  • Oh My ZSH - Terminal configuration and built in aliases
  • Fig.io - Terminal completion
Example GIF showing how Fig.io works
  • Dotfiles for configuration - I have my .zsh configuration files and aliases setup in a GitHub repo. Currently, there are only a few aliases and those are set for freelance specific commands. I'm slowly setting up some other aliases which will be more public.

Build tool

  • Tuist - Allows me to work between computers easily without worrying about git conflicts from the xcodeproj file. It is an Xcode project build tool.

And that's all that I usually setup for development. Let me know if you have any comments or questions on Twitter, @maeganwilson_ and follow me there.

Enjoyed the post? Awesome, then please share it with everyone you know and consider becoming a member to get my posts directly to your email.

🔗
Link to share: https://cctplus.dev/setup-new-mac-ios-app-development/