2014-02-18 3 views
1

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

Позвольте мне попытаться объяснить.

У меня есть проект .framework, который я создал. Вот моя ссылка Двоичный с библиотеками:

My Link Binary With Libraries

Вот мои настройки архитектуры:

enter image description here

Это ошибка:

Undefined symbols for architecture armv7: "_OBJC_CLASS_$_QlmLicense", referenced from: objc-class-ref in id2(MainViewController.o) 

Вы можете сказать по ошибке, что мой MainViewController в id2.framework ссылается на класс QlmLicense (который находится в QlmLicenseMobile.framework). Так, здесь файлы Целевые для QlmLicenseMobile.framework (с подробной информацией, перечисленных ниже):

enter image description here

источник и файлы заголовков все там и нет библиотеки в разделе с библиотеками Link Binary. Ресурсы Copy Bundle содержат только infoplist.strings и Copy Files содержит только QlmLicenseMobile.framework.

Вот архитектуры для QlmLicenseMobile.framework:

enter image description here

Наконец, ошибка сборки происходит в моем демо-приложения. Вот ссылка Двоичный с библиотеками файлов:

enter image description here

И здесь архитектур:

enter image description here

  1. Мои .framework и демонстрационные проекты играли хорошо вместе ,

  2. Теперь я использую QlmLicenseMobile.framework из моего проекта .framework. Эти две сборки прекрасно сочетаются.

  3. Это мой демонстрационный проект, который дает мне ошибку.

Таким образом, чтобы быть ясно, мои ссылки как таковые:

демо-приложение -----> my.framework приложение -----> QlmLicenseMobile.framework app

В любом случае, это немного сложнее, чем обычные настройки библиотеки. Я не знаю, что еще мне нужно сделать/добавить в демонстрационный проект, чтобы его построить. Есть идеи?

Adding new information to help someone else with this problem.

Часть проблемы была решена Warren Burton в своем ответе.

Вторая проблема заключалась в том, что мне нужно, чтобы добавить к моему демо-приложению библиотеки, которая в настоящее время используется третья сторона QlmLicenseMobile.framework, несмотря на то, что основа содержится в my.framework. Поскольку все содержалось в my.framework, я не знал, что мне все еще нужно добавить свои рамки AND libxml2.2.dylib в мое демонстрационное приложение. Я попытался добавить их рамки, но это не сработало. Затем я получил яркую идею попробовать добавить libxml2.2.dylib и вуаля! Это был волшебный недостающий кусок головоломки. Таким образом, оказалось, что выглядеть следующим образом:

демо-приложение -----> my.framework приложение -----> QlmLicenseMobile.framework

демо-приложение --- -> my.framework приложение -----> libxml2.2.dylib

демо-приложение -----> QlmLicenseMobile.framework

демо-приложение -----> libxml2.2.dylib

Вот обновленный образ из файлов Ссылка Двоичных с библиотеками для моих демо-приложений:

enter image description here

ответ

2

Убедитесь, что ваш FRAMEWORK_SEARCH_PATHS являются настройками для этой конфигурации и цели

Это дало мне печаль при связывании времени раньше.

enter image description here

+0

Я надеялся! Даже дважды перезагрузился, чтобы быть уверенным. Путь неверен. Я сделаю еще несколько изменений, и если это произойдет, я дам вам очки. Не могу придумать что-нибудь еще с головы, не так ли? – Patricia

+0

Спасибо, Уоррен за вашу помощь. Это было частью проблемы. Другая проблема заключалась в том, что мне нужно было добавить библиотеку, которая использовалась сторонним QlmLicenseMobile.framework. Поскольку все содержалось в my.framework, я не знал, что мне все еще нужно добавить свои рамки AND libxml2.2.dylib в мое демонстрационное приложение. Я попытался добавить их рамки, но это не сработало. Затем я получил яркую идею попробовать добавить libxml2.2.dylib и вуаля! Это был волшебный недостающий кусок головоломки. – Patricia

Смежные вопросы