Я обычно кодирую параллельно, иногда начиная с Mac, иногда с iOS.Большинство основных функций (т.е. не-GUI) практически одинаковы на обеих платформах, но иногда некоторые функциональности отсутствуют в одной части.Затем я попытаюсь начать с более бедной платформы, чтобы код работал на обеих платформах.
Параллельная работа дает еще одно преимущество: вам нужно подумать о хорошей абстракции, иначе вас раздражает дублирующийся код.Несколько целей действительно помогают с хорошей структурой.
Что касается нескольких целей - да, теоретически это работает в Xcode.Это было настоящей болью (с потерей ссылок снова и снова), как только я поместил свой «основной код» в статические библиотеки и продолжал обновлять все автоматически.
Моя установка выглядит следующим образом:
MainWorkspace
CoreFunctionsMacLibProject
CoreFunctionsIOSLibProject
TheApplicationMacProject
TheApplicationIOSProject
Общий код для основной части находится в общей папке, обновления выполняются легко, если все находится в одной рабочей области.Было бы легко работать без отдельных библиотек, я просто использовал их в разных проектах / рабочих пространствах.
Пока все идет гладко.Разговор о 2-4 библиотеках и нескольких проектах приложений.Просто мой опыт, хотя.Рабочие пространства делают этот подход довольно гибким, поскольку вы можете поместить проект в более чем одно рабочее пространство.