Я бы посоветовал вам взглянуть на использование подмодулей git в обоих ваших приложениях. Это отлично сработало для нас при совместном использовании кода в нескольких приложениях. В основном мы используем структуру, где у нас в каждом проекте XCode есть папка "Components/"
, в которой мы храним субмодули.
Приложение A может иметь такие подмодули:
Components/SomeAmazingPhotoManipulationStuff
Components/MaybeSomeUsefullFoundationThingsYouUseOften
Приложение B может использовать только:
Components/MaybeSomeUsefullFoundationThingsYouUseOften
Идея заключается в том, что вы можете обновлять свои проекты субмодулей отдельно и просто заходить в каждое приложение, в котором он используется, и обновлять субмодуль до последней версии компонента, успешно разделяя содержимое между приложениями без потери контроля версий. Это также хорошо масштабируется для многих проектов.
И, конечно же, вы можете разветвлять свои подмодули, и приложение A использует одну ветку, а приложение B - другое, если вы делаете какие-то конкретные вещи или очень экспериментальные вещи только в одном приложении или в любом другом сценарии, о котором вы можете подумать.
С тех пор, как мы начали использовать такие подмодули git, мы не оглядывались назад и даже не рассматривали какое-либо другое решение.