дублирующие символы для архитектуры x86_64 с интерфейсами

Я начинаю разрабатывать свое новое приложение с помощью WatchKit.

В расширении WatchKit у меня есть 2 интерфейсных контроллера. Когда я импортирую AppDelegate в оба файла .h этих двух интерфейсных контроллеров, я получаю следующую ошибку:

 'Id: 30 duplicate symbols for architecture x86_64' 

Эти 30 символов взяты из моего appDelegate.h

Когда я #Import "AppDelegate.h" из одного из файлов .h файлов из двух интерфейсных контроллеров, проблема исчезает.

Однако появляются новые проблемы, поскольку я использую значения, определенные в приложении AppDelegate.h

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

NB: Я сделал то же самое с ViewController для iPhone версии моего приложения, и все работает нормально.

Любой намек, из которого может возникнуть проблема?

благодаря

EDIT для bgilham :

-Не вижу файл .m '

-Я не использую флаг -Obj linker

-Из разных имен в моих целях iOS и WatchKit

– Я использую ту же константу (определенную в appdelegate.h )

Я действительно думаю, что это связано с AppDelegate.h как это происходит только с этим файлом, а не с другим.

Несколько вещей, чтобы проверить:

  • Убедитесь, что вы не импортировали файл .m где-то по ошибке.
  • Проверяйте в любом месте, что вы можете непреднамеренно импортировать что-то дважды.
  • Вы используете -Objc компоновщика -Objc ? Это заставляет компоновщик загружать каждый объектный файл в библиотеку, которая определяет класс или категорию Objective-C.
  • У вас есть файлы с тем же именем в вашем целевом объекте iOS и в целевой точке WatchKit?
  • Любые константы с тем же именем?

Я уверен, что вы используете xcode 6 или 7. Проблема в том, что в этих новых версиях имена переменных должны отличаться от каждого класса.

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

  • Как программно изменить шрифт метки?
  • Xcode 7 ValidateEmbeddedBinary error Не удалось прочитать данные в файле foo-WatchKit-App.app
  • Как Uber достигает этого пользовательского интерфейса в WatchKit?
  • Как рассчитать текущее местоположение в расширении WatchKit
  • Как показать содержимое уведомлений в приложении для просмотра?
  • Отправить поток данных от WatchKit
  • Невозможно архивировать приложение для просмотра Apple - watchkitapp Extension.appex: нет такого файла или каталога
  • Apple Watch Table - первые 4 строки, не появляющиеся
  • HKWorkoutSession: не получает частоту сердечных сокращений, когда экран выключен в watchOS 2
  • Apple Watch, несколько целей и общие целевые приложения Watchkit Extension / Watckit
  • WCSession Отправить сообщение дает ошибку «полезная нагрузка не может быть доставлена»
  • Давайте будем гением компьютера.