Отсутствует требуемая архитектура 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.
Я получил ту же проблему.. после долгой борьбы я нашел проблему..
Я решил это таким образом..
- Перейти в настройки сборки
- Поиск по "рамке поиска пути"
- И удалите предварительно заполненный путь.
Теперь это работает отлично.. надеюсь, это поможет кому-то..
Будьте осторожны, если копируете фреймворк из Finder в проект. Убедиться, что; Параметр "Копировать файл..." НЕ отмечается, когда вы добавляете его в свой проект.
Проверьте корневую папку вашего проекта и если вы скопировали его. Удалите его и попробуйте добавить с нуля.
Настоятельно рекомендуется добавить из раздела "Этапы сборки" раздел "Связать двоичные файлы с библиотеками" в XCode.
Я использовал $(унаследовано) в настройках сборки -> Пути поиска
См. Ниже URL для $(унаследованного) использования, Что такое $(унаследованный) в настройках пути поиска XCode?