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