Avoiding merge conflicts with XcodeGen

Image for post
Image for post
Image for post
Image for post

I - Intro

Image for post
Image for post
Image from https://medium.com/@kautilyasave/xcode-merge-conflict-debugging-5904c7e0cc59
Image for post
Image for post

II — Before we start

1. Introduction XcodeGen

Image for post
Image for post

2. Use case project

Image for post
Image for post
Sample project structure
Image for post
Image for post

III — Setting up

Image for post
Image for post
Sample app usage screens

1. Set up sample project

Image for post
Image for post
Installing sample project (Brew, Carthage, XcodeGen, dependencies…)
Image for post
Image for post

2. Creating your XcodeGen project specs file

Image for post
Image for post
This file will be the spec of our .xcodeproj
XcodeGen/project.yml : Initial setup
Image for post
Image for post

3. First XcodeGen run

Image for post
Image for post
XcodeGen/project.yml : first run
Image for post
Image for post
Image for post
Image for post

4. Adding configurations and project main target

XcodeGen/project.yml : Adding configurations
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

5. Adding frameworks

XcodeGen/project.yml : Creating a template
Image for post
Image for post
XcodeGen/project.yml : Adding targets using template
Image for post
Image for post
Image for post
Image for post
XcodeGen/project.yml : Small recap
XcodeGen/project.yml : Complete setup (so far)
Image for post
Image for post
https://seattle.eater.com/2019/7/2/20679237/july-4th-seattle-where-to-eat-drink-and-watch-the-fireworks
Image for post
Image for post
Image for post
Image for post

6. Fixing dependencies frameworks

Image for post
Image for post
XcodeGen/project.yml : Domain target without dependencies
XcodeGen/project.yml : Domain target with dependencies
XcodeGen/project.yml : Example of the 3 dependencies options (carthage, linked and not linked)
Image for post
Image for post

7. Extra: Build fase scripts

Image for post
Image for post
Image for post
Image for post

8. Extra: Documents folder

Image for post
Image for post
Image for post
Image for post

IV - Recap

1. Some problems you may face while setting up project the first time: Lost files

Image for post
Image for post
Image for post
Image for post

2. Some problems you may face while setting up project the first time: Miscellaneous files inside folders

Image for post
Image for post
Image for post
Image for post

V - Materials

Image for post
Image for post

Article review by

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store