2013-11-12 4 views
12

Есть две ситуаций, что я знаю, что вызывает следующие ошибки:Категория Conflict: метод экземпляра в категории от конфликтов с тем же способом из другой категории

ld: warning: instance method 'resetAudioSystem' in category from /opentok-ios-sdk/Opentok.framework/Opentok(OTPublisher+AudioSnoop.o) conflicts with same method from another category 
ld: warning: instance method 'attachAudioSnoopBlock:' in category from /opentok-ios-sdk/Opentok.framework/Opentok(OTPublisher+AudioSnoop.o) conflicts with same method from another category 
ld: warning: instance method 'setVideoSnoopDelegate:' in category from /opentok-ios-sdk/Opentok.framework/Opentok(OTPublisher+VideoSnoop.o) conflicts with same method from another category 

Возможность 1: Экземпляр категории метод объявляется дважды. (Описано здесь: SO)

Но Когда я делаю поиск любого из 3-х методов экземпляра (в Xcode или Grep) Я не считаю, что дважды объявлен.

Возможность 2: Случайный импорт .m-файла. (Описано здесь: SO)

Но я проверил весь мой импорт и я только импортировать базу один раз во всем проекте. Кроме того, он появляется только один раз в Build Phases.

Моя программа работает без сбоев, по-видимому, потому, что добавлено последнее добавленное определение категории, и это происходит правильно. (Source)

Вопрос 1: Есть ли способ сообщить, до его добавления, где расположены две категории?

Вопрос 2: Любые другие идеи о том, как разрешить это?

Примечание: Opentok Framework представляет собой бинарный

Происходит в:

Xcode 4,6 & Xcode 5

iOS6 & iOS7

+0

Проверьте свои поисковые пути. Настройки сборки> Пути поиска. У меня были аналогичные проблемы в прошлом, и большую часть времени он сводился к пути поиска. – sbarow

ответ

3

Это выглядит как компоновщика ошибка. Возможно, SDK был связан более одного раза, или -ObjC отсутствует/присутствует там, где этого не должно быть. Проверьте флаги компоновщика. Попробуйте удалить все фреймворки OpenTok, убедитесь, что он отсутствует в ваших проектах, а затем повторно загрузите его и установите снова.

24

У меня были эти предупреждения, потому что я случайно импортировал файл реализации категории вместо его заголовочного файла. Итак:

неправильно: #import 'MyClass+MyCategory.m'

право:#import 'MyClass+MyCategory.h'

+1

глупо меня. спасибо за сообщение. –

0

Я имел эту ошибку, потому что я буквально вставил реализацию моих методов для заголовка файла (*.h). Однако он работал хорошо; единственный признак - предупреждения.

Проверьте правильность вашей реализации (*.m).

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

  • Нет связанных вопросов^_^