Ответ 1
Я использую рабочие области, когда хочу объединить проекты, а также поддерживать независимость проекта.
В примере, где я использую рабочие области, это серия обучающих проектов, которые продвигаются от очень простых до более сложных. Каждый проект может работать как отдельный проект, но объединение их в рабочее пространство помогает моей организации общего проекта.
В другом случае у меня есть приложение, разработанное для клиента. Приложение работает как автономное приложение, так и модуль в общем проекте. Независимый проект может создать автономное приложение. В другом приложении используется рабочее пространство, включающее два проекта. Версия модуля приложения построена по специальной схеме, и это комбинированное приложение не создается без использования рабочей области.
Один поворот с двумя описанными выше ситуациями - это место, где хранится папка сборки. Я должен изменить предпочтение Xcode, чтобы поместить продукты сборки в уникальные папки для группы обучающих проектов, использовать общую папку сборки для модуля в другой установке приложения.
В других случаях у меня много проектов со встроенными проектами. В этих ситуациях проекты библиотеки стабильны. Я не пытаюсь продолжать разработку библиотечных проектов, поэтому они являются еще одним ресурсом для проекта. Мне легче работать там, где моя файловая система организации ресурсов проекта несколько отражает организацию моего проекта Xcode. Таким образом, эти проекты библиотеки копируются в основную иерархию файлов проекта. Было бы целесообразно использовать рабочие области, если бы я разрабатывал библиотеки и использовал их в нескольких проектах. Для удобства я часто не беспокоюсь.
Иногда я даже совмещаю рабочие пространства с проектами, содержащими встроенные проекты.
Поэтому я считаю, что как организационные инструменты, встроенные проекты, так и рабочие пространства имеют свои достоинства и проблемы. Я выбираю использовать тот или иной (или комбинацию) в зависимости от конкретных обстоятельств.