Отсутствует требуемая архитектура i386 в файле

У меня возникают проблемы при создании приложения после добавления инфраструктур MapKit и CoreLocation. Они оба представляют собой 4.3-фреймворки, и приложение, которое хорошо работало с UIKit, CoreGraphics и Foundation, просто доставляло мне проблемы с этими двумя. Не уверен, что это за архитектура, в коде нет ошибок. Любая помощь приветствуется!

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/MapKit.framework/MapKit, missing required architecture i386 in file

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/CoreLocation.framework/CoreLocation, missing required architecture i386 in file

Undefined symbols for architecture i386:
  "_CLLocationCoordinate2DMake", referenced from:
       -[Layer2 tableView:cellForRowAtIndexPath:] in Layer2.o
  "_OBJC_CLASS_$_MKMapView", referenced from:
       objc-class-ref in Layer2.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

4 ответа

Добавьте каркас CoreLocation, в котором есть CLLocation, а также MapKit.

Я получил ту же проблему.. после долгой борьбы я нашел проблему..

Я решил это таким образом..

  1. Перейти в настройки сборки
  2. Поиск по "рамке поиска пути"
  3. И удалите предварительно заполненный путь.

Теперь это работает отлично.. надеюсь, это поможет кому-то..

Будьте осторожны, если копируете фреймворк из Finder в проект. Убедиться, что; Параметр "Копировать файл..." НЕ отмечается, когда вы добавляете его в свой проект.

Проверьте корневую папку вашего проекта и если вы скопировали его. Удалите его и попробуйте добавить с нуля.

Настоятельно рекомендуется добавить из раздела "Этапы сборки" раздел "Связать двоичные файлы с библиотеками" в XCode.

Я использовал $(унаследовано) в настройках сборки -> Пути поиска

См. Ниже URL для $(унаследованного) использования, Что такое $(унаследованный) в настройках пути поиска XCode?

Другие вопросы по тегам