iOS Project Setup

Base checklists that developer will need to set new iOS project up.

New project creation steps

  • create Xcode project
  • setup Bundle ID in Xcode project
  • setup deployment target and supported devices in Xcode project
  • setup git repo (configure GitLab as well, protect branches, set default settings, etc)
  • set proper folder structure and base targets
  • add necessary dependencies (list of most used ones is below)
  • add project on Apple Dev Portal (create identifier, create certificates, add all QA / devs / PMs devices, create provisioning profiles, , app key for push notifications, etc)
  • add project on AppStore Connect (create application for TestFlight distribution)
  • add proper signing to Xcode project
  • add needed capabilities to Xcode project
  • setup SwiftLint within project (use .swiftlint.yml file from docs: click)
  • add ServerEnvironment and FirebaseEnvironment fields to Info.plist
  • setup dev and prod Firebase environments (add Google's Info.plists to project + initiate Firebase SDK)
  • setup Firebase Crashlytics for both dev and prod environments (within Xcode project and Firebase console)
  • setup Firebase Distribution for both dev and prod environments (within Xcode project and Firebase console)
  • setup CI - configure on Gitlab if needed
  • setup CI - add .gitlab_ci.yml
  • setup CI - configure match branch with proper certificates and provisioning profiles
  • setup CI - add fastlane folder with configured Appfile and Fastfile
  • configure Slack integration (using ios.dev account!)
  • configure Jira integration
  • add app icon (if present)
  • add splash screen (if present)
  • setup FLEXopen in new window library for project to make QA life easier (example can be found in Envolopen in new window project)

Dependencies to use