У меня есть два проекта Cocoa Touch Framework main и sub в одной рабочей области. main использует протоколы и классы из sub . main компилируется. Но он не имеет ссылки на sub в «Связанных фреймворках и библиотеках» и «Фазах сборки».
Почему он компилируется? Что касается меня, это не правильно. Я хочу контролировать зависимости между модулями. Как закрыть доступ к модулю sub в main ?
Примечание 1 (31.10.19)
Та же история с двумя статическими библиотеками Cocoa Touch, но в этом случае у меня нет возможности добавлять что-либо в «Связанные фреймворки и библиотеки», только в «Фазы сборки». Кроме того, при попытке импортировать статическую библиотеку Cocoa Touch в Cocoa Touch Framework и наоборот - ничего не изменилось.
Примечание 2 (05.11.19)
Текущая заметка - это реакция на ответы. Потому что для меня, похоже, я не описал проблему четко. И заметка пытается это исправить.
Все мои фреймворки и библиотеки во время исследования были в едином рабочем пространстве. Раньше я думал, что это рабочее пространство - это документ XCode, который группирует проекты и другие документы, чтобы разработчик мог работать над ними вместе. Как я вижу сейчас, рабочая область - это нечто большее, чем улучшение UX. Это создает эффекты на уровне кода. Решает ли моя проблема удаление проектов из рабочей области? И если да, то как это сделать? «Улучшение UX для разработчика» и «Побочный эффект управления зависимостями» неразрывно сочетаются в рабочем пространстве? Могу ли я использовать только часть UX Улучшение для разработчика? Если да, то как?
Также я не вижу способа, как мне могут помочь спецификаторы доступа (частные, публичные и т. Д.). Мне нужно контролировать зависимости между компонентами. Моя проблема на уровне архитектуры. Мне нужно организовать границы между компонентами (важная часть архитектуры программного обеспечения). Вопрос о технических ограничениях, которые я обнаружил и которые мешают создавать границы. «Спецификаторы доступа» относятся к строительству стен, «зависимости» - к строительству помещений в здании.
Проблема в том, что защита от нарушения границ может жить только в воздухе (некоторые разработчики знают ... некоторые документы содержат .. . Как аналогия, мне нужна статическая типизация, я обнаружил, что язык поддерживает только динамический, но выглядит таинственно. Я не могу поверить. Я не совсем понимаю. Я спрашиваю.