Слышали ли вы о такой штуке, как Tuist?

Классная тулза, которая генерирует pbxproj основываясь на ваших сорсах 🧙‍♂️

То есть вы можете удалить ваш pbxproj из гита и забыть про merge conflict в этом самом файле 😎

Но, конечно, на каждый pull с новыми файлами придётся запускать Tuist.

А ещё его можно использовать для генерации «клонов» вашего проекта, чтобы всякие разные тесты гонять, например 👨‍👨‍👦‍👦

И ещё разные юзкейсы, которые вы себе придумаете 💭

Конфиг пишется по знакомому принципу, очень похож на Package.swift

Возможно, прямо сейчас вам не нужен Tuist, но познакомиться с ним очень рекомендую!

https://www.raywenderlich.com/24508362-tuist-tutorial-for-xcode