Быстрый. Не удалось построить модуль objective-c "Аламофайр"

Свежая ванильная установка подмодуля Alamofire с использованием XCode6 и следуя указаниям к T. Что-то здесь просто не подходит. Я получаю сообщение об ошибке: «Не удалось создать модуль objective-c« alamofire »при импорте alamofire. Вот снимок экрана с полученной ошибкой:

введите описание изображения здесьИ моя конфигурация:

введите описание изображения здесь


person stopshinal    schedule 09.11.2014    source источник
comment
ты заставил его работать? это сработало для меня, и после другой сборки и запуска он остановился, и я получил то же сообщение об ошибке ... :(   -  person Georg    schedule 15.12.2014
comment
У коллеги было такое же сообщение об ошибке, но оказалось, что причина в том, что он все еще использовал Xcode 6.1 (когда я пишу это, мы живем в эпоху 6.3). Сказать это для протокола, если кто-то еще борется с тем же самым.   -  person villapossu    schedule 02.06.2015


Ответы (12)


Когда это произойдет, просто сначала создайте фреймворки отдельно. В твоем случае:

  • Меняем схему на Аламофайр
  • Сборка (⌘B)
  • Вернитесь к своей схеме
  • Запустить
person Daniel Larsson    schedule 05.01.2015
comment
Отличный ответ; Я не обращал внимания на изменение схемы сборки, чтобы исправить подобные ошибки! - person tehprofessor; 10.05.2015
comment
Если вам нужно построить схему отдельно, это, вероятно, означает, что у вас нет правильной настройки фреймворка в качестве целевой зависимости в настройках сборки вашего приложения. Сделайте это, и вам не придется создавать его вручную. - person Charles A.; 13.10.2015
comment
Я проголосовал за это, поскольку он работает в Xcode. К сожалению, это не сработает при сборке из командной строки или при сборке для выпуска. - person Eneko Alonso; 01.04.2016
comment
Это устранило проблему, с которой я столкнулся с GoogleApiClient / Drive. Сборка завершится успешно, но как только в файл будут внесены какие-либо изменения, Xcode будет жаловаться на импорт. - person Nick Alexander; 25.08.2016
comment
Спасибо, сэр, это так мне помогло - person Ridho Octanio; 04.02.2020

Перейдите в Developer / Xcode / DerivedData и удалите папку для вашего фреймворка. (Или просто удалите сам DerivedData)

Если у вас есть сборка вашего приложения в симуляторе бега, вам нужно удалить приложение там.

Затем очистить и построить

person Sean Howell    schedule 13.02.2015
comment
Это сработало и для меня, но затем я столкнулся с несколькими командами, эта ссылка поможет: stackoverflow.com/questions/50718018/. - person Bhimbim; 14.08.2019

У меня это всегда работает:

  1. Выйти из Xcode
  2. Удалить ~/Library/Developer/Xcode/DerivedData
  3. Измените схему своего фреймворка и создайте ⌘B
  4. Измените схему своего приложения и создайте ⌘B
person Sam Soffes    schedule 19.01.2015

Удаление папки DerivedData, очистка и сборка проекта решили для меня эту проблему.

person Isuru    schedule 05.02.2015

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

  1. Cmd + B - Создает рабочую область и, возможно, должен построить цель или модуль, который мы хотим.

  2. Cmd + K, а затем Cmd + B - Очистить, а затем построить

  3. Cmd + Shift + Option + K и Cmd + B < / kbd> - Очистить папку сборки

  4. Закройте Xcode, удалите производные данные, запустите Xcode и Cmd + Shift + Option + K, затем Cmd + B

Это самый чистый способ очистки производных данных и других кешей от Xcode.

person ravisekahrp    schedule 06.02.2017
comment
Для тех, кто использует синхронизацию iCloud (например, имея проект в папке «Документы», чтобы его можно было легко синхронизировать с несколькими компьютерами Mac), проверьте наличие файла с именем: XXX 2.swift. Найдите и удалите их все, затем запустите pod install. - person John Pang; 09.05.2019

Если вы получаете эту ошибку при попытке импортировать динамическую платформу, убедитесь, что она включена в целевые зависимости цели.

Project > "Target" > Build Phases > Target Dependencies

person David James    schedule 18.11.2016
comment
Кроме того, если вы работаете с другой платформой, разработанной в той же рабочей области, обязательно добавьте проект в качестве связанной библиотеки вместо файла платформы, иначе платформа не будет видна как целевая зависимость. - person Dávid Pásztor; 18.07.2019

У меня сработала чистая сборка.

  1. Строй чистый для Аламо
  2. Чистая сборка для HTTPDemo
person Nick Mitchell    schedule 11.12.2014

Закомментируйте импорт и весь код, который его использует, соберите, запустите, а затем раскомментируйте. У меня это сработало ...

person xytor    schedule 04.12.2014

Любой модуль, который не удалось собрать, также может вызвать эту ошибку. (в моем случае не удалось построить старый модуль с устаревшим синтаксисом).

Вы можете попробовать pod update обновить свои модули до последней версии и посмотреть, как все пойдет.

person Gang Fang    schedule 03.04.2019
comment
Для тех, кто использует синхронизацию iCloud (например, имея проект в папке «Документы», чтобы его можно было легко синхронизировать с несколькими компьютерами Mac), проверьте наличие файла с именем: XXX 2.swift. Найдите и удалите их все, затем запустите pod install. - person John Pang; 09.05.2019
comment
Это мне помогло. У меня был устаревший модуль, который все еще находится в стадии разработки, и я просто забыл запустить установку модуля. - person atereshkov; 08.09.2020

Я решил эту проблему в одном из моих гибридных проектов Objective-C / Swift.

В вашем файле моста Objective-C добавьте следующую строку:

#import <Alamofire/Alamofire.h>

person Eddie Lau    schedule 31.08.2017

Безумное решение этой проблемы - единственное рабочее решение для меня

Создайте новую схему и добавьте платформу, которая показывает ошибку. В данном случае «Аламофайр». Запустите все эти схемы.

После того, как вы скомпилируете все схемы, ваша цель проекта также будет работать нормально.

Это может показаться сумасшедшим решением, но для меня это только рабочее решение.

person Saranjith    schedule 23.10.2019

Если допустимые архитектуры проекта Alamofire не содержат допустимые архитектуры вашего проекта, возникает ошибка «Не удалось построить модуль objective-c ..».

Добавьте эти архитектуры i386 x86_64 arm64 arm64e armv7 armv7s armv6 armv64 в «Действительные архитектуры» проекта Alamofire в разделе «Настройки сборки».

Создайте одно и то же целевое устройство для обоих проектов. Например, сначала создайте проект Alamofire для iPhone 8 (13.2), а затем создайте свой проект для того же симулятора.

Если сборка проекта Alamofire занимает очень короткое время, то есть около 0,5 секунды, это означает, что в проекте Alamofire возникает ошибка, поскольку архитектура выбранного симулятора не указана в Действительных архитектурах.

person Yusuf    schedule 19.12.2019