Как импортировать автономный Xcode Project в качестве модуля в другой проект?
Оба проекта используют одни и те же рамки. у обоих есть свои кандидатуры. Успешно добавлены оба проекта в рабочую область. но не могут получить доступ друг к другу контроллеры. создание статической библиотеки одного проекта не помогло. сделать рамки одного проекта? в какую сторону идти?
1 ответ
Поскольку вы говорите о создании статической библиотеки, я думаю, что ваш проект является проектом OC. Итак, вот в чем дело, если вы собираетесь объединить эти два приложения, вы должны сначала извлечь содержимое, которое нельзя дублировать, например AppDelegate и некоторые другие настройки приложения.
Вы сказали, что поместили два проекта в одно рабочее пространство, но не можете получить доступ к контроллерам представления одного проекта из другого. Это потому, что вы неправильно импортировали заголовок.
Например, у каждого проекта есть свой собственный путь поиска заголовка, который можно установить в xcodeproj-Build Settings-> путь поиска заголовка поиска. По умолчанию текущий путь (".") Пути поиска заголовка одного xcodeproj находится там, где размещен ваш xcodeproj. И XCode ищет все заголовки в этой папке рекурсивно.
Если вы хотите получить доступ к заголовку приложения B из приложения A. Предполагается, что у вас есть контроллер представления в корневой папке приложения A. Для доступа к заголовку приложения B ваш импорт может выглядеть так:#import "../app B/somekindofVC.h"
Если вы просто хотите импортировать "somekindofVC.h", вы можете добавить "../app B" в качестве пути поиска заголовка в настройках сборки и выбрать опцию "рекурсивный", если необходимо.
Вот как ваш xcodeproj может найти чужие заголовки.
Необходимо сделать еще одну важную вещь: вы должны добавить общий код приложения B в исходный код компиляции. Поскольку ваше приложение A может знать класс приложения B через заголовок, компилятор не знает, какова реализация классов приложения B. Поэтому, прежде чем запускать свой проект, не забудьте добавить необходимые файлы.m в Build Phases->Compile Sources.