2013-08-23 3 views
5

поэтому инструкции Mopub не упоминают, что EventKit и EventKitUI не требуются. Добавление их в дополнение к структурам, упомянутым MoPub, получило проект для сборки.Понимание ошибки построения Xcode

Обновление: Инструкции MoPub были обновлены.


Я интегрируя MoPub Полного IOS SDK в мое приложение, следуя их instructions. К сожалению, я получаю следующие ошибки построения после добавления своего кода и необходимые рамки:

Undefined symbols for architecture i386: 

    "_OBJC_CLASS_$_EKAlarm", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKEvent", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKEventEditViewController", referenced from: 
     objc-class-ref in MPInstanceProvider.o 
    "_OBJC_CLASS_$_EKEventStore", referenced from: 
     objc-class-ref in MPInstanceProvider.o 
     objc-class-ref in MRProperty.o 
    "_OBJC_CLASS_$_EKRecurrenceDayOfWeek", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKRecurrenceEnd", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKRecurrenceRule", referenced from: 
     objc-class-ref in MRCalendarManager.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Что означают эти ошибки? Я хотел бы понять их, а затем выяснить, как их исправить самостоятельно. Обычно, когда я добавляю сторонние рекламные или аналитические SDK, процесс интеграции очень прост. Следовательно, у меня нет большого опыта решения этих типов ошибок.

Примечание. Я попытался интегрировать полный SDK MoPub в свое приложение и приложение для тестирования голой кости. Оба дают те же ошибки.

+2

Прочитайте ответы на этот дубликат. Это объяснит эти ошибки компоновщика. – rmaddy

+0

@rmaddy Это было определенно полезно! Решение (добавлено к вопросу) было просто добавлением фреймворков, о которых не упоминал MoPub. По-моему, этот вопрос должен оставаться открытым до тех пор, пока модификации MoPub не будут обновлены, поскольку это может быть полезно другим разработчикам. – SundayMonday

+0

Huh! Потеряно 2 часа из-за ошибки их документации: @ Он еще не обновлен. –

ответ

1

Когда вы интегрируете внешнюю библиотеку в свое приложение, она, как правило, скомпилирована для работы с симулятором или на устройстве. Я считаю, что ваш файл .a был скомпилирован для работы на устройстве, и если вы создаете для устройства, ваш компоновщик должен вести себя лучше.

В качестве альтернативы, вы, возможно, просто забыли указать файл .a вообще.

+1

Пожалуйста, прочитайте ответы в дублированном вопросе, на который я ссылаюсь в комментариях. Изучение того, как читать такие ошибки компоновщика, является важным навыком. – rmaddy

17

Добавить EventKit.framework в проект.

+0

Нет проблем с 'MRCalendarManager'. Пожалуйста, прочитайте эту ошибку еще раз. В нем четко указано, что проблема заключается в отсутствии символов «EKxxx», на которые ссылается «MRCalendarManager». Это значит, что в проект необходимо добавить фреймворк EventKit. – rmaddy

+0

Простите, а затем добавьте проект EventKit.framework в ур. – satheeshwaran

+0

Добавьте EventKitUI.framework в свой проект. – Tony

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