Cocoapods + Невозможно загрузить базовый модуль для 'x'


91

Я использую XCode 7, Swift 2.0, iOS 9.

Я хочу установить Alamofire в свой проект с помощью Cocoapods. Я сделал следующее:

gem install cocoapods

pod setup

pod init

Обновлен Podfile:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!

target 'JSONeg' do

  pod 'Alamofire', :branch => 'swift-2'

end

Затем я установил стручок:

pod install

И я добавил следующее в ViewController.swift

import Alamofire

Это вызывает следующую ошибку:

Cannot load underlying module for 'Alamofire'

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


убедитесь, что вы импортировали необходимые фреймворки
user3722523 03

Ответы:


211

Похоже, это ошибка в XCode. У меня была та же проблема, и, как описано в комментариях к другому ответу на этот вопрос, при создании проекта ошибка исчезла.


4
Я почти прихожу сюда в начале любого проекта ... Спасибо, приятель
SoliQuiD 04

2
Проклятый обходной путь все еще работает .. XCode должен быть с открытым исходным кодом.
Сиддхарт,


14

Это сработало для меня:

  1. Закрой свой проект
  2. В терминале перейдите в каталог вашего проекта
  3. Добавьте эту команду: pod update
  4. После этого все ваши поды будут обновлены. Просто запустите свой проект

10

Невозможно загрузить базовый модуль для 'x' для SWIFT:

Как исправить проблему:

Шаг: 1 Создайте новый проект и успешно выполните сборку и запуск без установки модуля.

Шаг: 2 После успешной сборки и запуска проекта. Теперь попробуйте установить модуль, а затем попробуйте importrealm, alamofire, диаграммы и т. д., он будет работать как шарм.

Случай отказа -> Новый проект -> Добавить (область, alamofire, диаграммы и т. Д.) Через cocoapods без сборки сначала -> открыть рабочее пространство Xcode -> построить и запустить

Случай успеха -> Новый проект -> построить и запустить -> добавить (область, alamofire, диаграммы и т. Д.) Через cocoapods -> открыть рабочее пространство Xcode -> построить и запустить снова = успех


Вы не можете думать о «запуске нового проекта» каждый раз, когда видите эту ошибку, если в 99% случаев она происходит в существующем проекте. Как насчет того, чтобы просто попробовать «обновление стручка»
Ренександро,

9

После того, как вы установили Alamofire pod.

На шаге 1 вы должны открыть свой проект, дважды щелкнув файл your_project_name.xcworkspace.

Шаг 2 Перейдите в настройки проекта -> Фазы сборки -> Связать двоичный файл с библиотеками -> Добавить фреймворк "Alamofire.framework"

Это оно!!

Теперь вы можете импортировать модуль


8

Что помогло в моем случае:

1) Закройте проект и XCode

2) В терминале повторить команду

> pod install

3) Откройте проект

(Если это не помогает, попробуйте удалить Pod / папку перед переустановкой)


1
Также удалите Pod/папку перед переустановкой
никанс

7

Я пробовал все эти решения: перестройка, очистка, переустановка модулей и т. Д., Но в моем случае возникла проблема с изменением параметра «Только сборка активной архитектуры» на «Нет» из-за дополненной реальности. библиотека, которую я использовал. Сменил его обратно на «Да», и это было исправлено. Надеюсь, это кому-то поможет.


Правда, это была основная проблема, вы должны убрать с помощью command-shift-K
Hola Soy Edu Feliz Navidad

Пришлось установить с ДА на НЕТ. Странно.
Mundi

7

Мне пришлось сделать Product> (Opt Click) Clean Build Folder ... затем запустить снова, и проблема исчезла.


5

Я использую Xcode версии 8.3.1 (8E1000a). Каким-то образом эта проблема возникает, когда я хотел установить модуль SwiftCloudant. Вероятно, я не закрыл свой Xcode при запуске pod install.

Я исправил это вручную, добавив SwiftCloudant.framework на вкладке Targets> General.

Цели> Общие> Связанные платформы и библиотеки


После того, как все остальное не удалось, это действительно сработало. Большое спасибо.
AmirZ 04

4

В моем случае это была другая причина, это были другие быстрые флаги в настройках моей целевой сборки, мне пришлось добавить унаследованный флаг вверху.


3

Вы проверили, есть ли у вас последняя версия Cocoapods? Вы можете обновить, обновив все свои драгоценные камни:

sudo gem update

или просто переустановите Cocoapods:

 [sudo] gem install cocoapods

Если это не помогает, взгляните также на: CocoaPods - сборка для iOS 9 / Swift 2 с Xcode-beta.

где показано, как легко изменить версию инструментов командной строки на вкладке «Местоположение» настроек Xcode и изменить «Инструменты командной строки» на Xcode 7.0.


Да, это была самая последняя сборка. Я только что понял проблему. Я построил проект, и внезапно он сработал.

Хорошо, тогда, пожалуйста, ответьте на свой вопрос, предложив решение, которое вы придумали, чтобы другие могли решить эту проблему, когда они столкнутся с ней,
Гленн

3

Следуйте шагам:

1.Установите модули 2. Откройте рабочее пространство 3. Запустите / соберите приложение 4. Затем вы можете импортировать фреймворк.


2

Не удалось загрузить базовый модуль

  1. Проверьте рамочный путь: Build Settings -> Framework Search Paths.
  2. Убедитесь, что путь к фреймворку не содержит пробелов.
  3. Если путь содержит переменную, найдите значения переменных, выполнив поиск по имени переменной в вашем Build Settings.
  4. Убедитесь, что в значениях переменных нет пробелов.
  5. Если путь содержит пробелы, переименуйте те каталоги, которые содержат пробелы.
  6. Очистите и соберите проект.

Таким образом, убедитесь, что ваш <Project Root>путь не содержит пробелов. В противном случае переименуйте тот, dirкоторый содержит пробелы, затем очистите и создайте свой проект.

например, если это корень вашего проекта: /Users/handsomeboy/ios app/Fancy App/переименуйте папку, в которой есть пробелы. Один из способов избавиться от пробела: изменить 'ios app'на'ios_app'


2

Установка GCC_SYMBOLS_PRIVATE_EXTERN(отображается как «Символы, скрытые по умолчанию» в целевых настройках) YESв связываемом фреймворке помогла мне избавиться от этой ошибки. Я потратил 2 дня, чтобы выяснить это, надеюсь, это кому-то поможет :)


2

По этому URL-адресу: https://github.com/Alamofire/Alamofire/issues/441

Один из пользователей написал это:

Очистить не удалось, переустановка из pods не работала, установка из carthage не работала, ручная установка не сработала. Я наконец заставил его работать после сборки для тестирования.

Итак, я попробовал это (xcode Version 9.2 (9C40b)):

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

Это сработало для меня. Ошибка исчезла.

Примечание: мой модуль не был Alamofire, поэтому я думаю, он будет работать с каждым модулем.


2

Другой возможный сценарий: убедитесь, что тестовая цель определена в пределах родительской цели (а не за ее пределами)

например

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'OCMock', '~> 2.0.1'
  end
end

Если вместо этого это выглядит так:

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'
end

target 'MyAppTests' do
  inherit! :search_paths
  pod 'OCMock', '~> 2.0.1'
end

тогда вы также получите эту ошибку.


1

Та же проблема для меня. Я решил это, удалив версию Alamofire в файле pod.

Pod файл как

# Uncomment this line to define a global platform for your project
platform :ios, "8.0"

# Uncomment this line if you're using Swift
use_frameworks!

target 'GettingSwift' do
 pod 'Alamofire'
end

target 'GettingSwiftTests' do
end

1

В моем случае:

1. Строка комментария //import Pod_Module

2. Перейдите в Project -> Clean или используйте комбинацию клавиш (Command + Shift + K)

2. Закройте проект

3. В терминале перейдите в каталог вашего проекта

4. Запустите > pod install

5. откройте .xcworkspaceфайл и построить это!

6. Раскомментируйте строкуimport Pod_Module


0

При установке CocoaPods не забудьте указать ios 9.0, удалив #. Следовательно, # platform :ios, '9.0'должно быть просто platform :ios, '9.0'Затем, если ошибка появляется снова, просто создайте и запустите. После сборки и запуска ошибка не должна возвращаться.

Кроме того, это может произойти, если на вашем компьютере установлено несколько версий Xcode. Закройте (а не просто закройте) все версии Xcode в первую очередь.



0

Если вы убедились, что ваши модули были успешно установлены, ошибка может быть связана с вашими производными данными, оставшимися до того, как вы установили модули. Вы можете очистить производные данные, перейдя в File -> Workspace Settings... -> Derived Data. Удаление папки производных данных, связанной с вашим приложением, и очистка сборки должны решить проблему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.