2010-07-24 9 views
7

Исходя из C-фона, что означают «Связанные рамки» и «Другие рамки»?Xcode: Linked Frameworks vs Other Frameworks

Посмотрев на моей цели сборки, я вижу, что Linked Каркасы являются на самом деле связаны (динамически, я полагаю, - как бы Статическая линковка работу?)

Что такое «Другие рамочные» тогда?

Чтобы проверить, я использовал класс NSString, который определен Foundation в файле. Фонд находится в других рамах и не связан с целью.

Увы, компиляция завершена без предупреждений, и исполняемый файл пробежал.

ответ

5

Это просто группы в группах & Иерархия файлов. Они не имеют никакого значения, чем это.

Рамки, на которые имеются ссылки в других фреймворках, находятся там, поэтому вы можете их скручивать, чтобы легко увидеть их заголовки, потому что (например) Cocoa.framework фактически не содержит физический файл Foundation.framework, AppKit.framework и CoreData .framework. Он просто действует так, как если бы это было при соединении, для удобства разработчиков.

+0

Так что «Связанные рамки» можно рассматривать как «Прямые зависимости от структуры», а «Другие рамки» - это «Зависимости Transitive Framework», правильно? – febeling

+0

Может быть. Но помните, что это просто группы для организации ссылок на фреймворки. Фактическое поведение связи полностью обрабатывается фазой построения компоновки ссылок и библиотек. –

+0

Верно ли, что вы можете использовать фреймворки в компоновке Link Binary и Libraries, если вы укажете их в группе Frameworks (или любой подгруппе)? – febeling