Ответ 1
Кажется, это ошибка в XCode. У меня была та же проблема, и, как описано в комментариях другого ответа на этот вопрос, при создании проекта произошла ошибка.
Я запускаю XCode 7, Swift 2.0, iOS 9.
Я хочу установить Alamofire в моем проекте, используя Cocoapods. Я сделал следующее:
gem install cocoapods
pod setup
pod init
Обновлен подфайл для:
# 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:
pod install
И я добавил в ViewController.swift следующее:
import Alamofire
Это вызывает следующую ошибку:
Cannot load underlying module for 'Alamofire'
Я протестировал с другим модулем, и он поднял ту же ошибку, поэтому я предполагаю, что проблема связана с установкой Cocoapods. Любая помощь будет принята с благодарностью.
Кажется, это ошибка в XCode. У меня была та же проблема, и, как описано в комментариях другого ответа на этот вопрос, при создании проекта произошла ошибка.
Перейдите в раздел "Продукт" > "Создать", и он решит проблему:
Нельзя загрузить базовый модуль для "x" для SWIFT:
Как исправить проблему:
Шаг: 1 Создайте новый проект и постройте & запускайте успешно, не устанавливая pod.
Шаг: 2 После сборки и успешного запуска проекта, попробуйте установить pod, а затем попытайтесь выполнить importrealm, alamofire, charts и т.д., он будет работать как шарм.
Случай сбоя → Новый проект → Добавить (царство, alamofire, диаграммы и т.д.) через cocoapods без сборки сначала → открыть рабочую область Xcode → build & run
Успешный случай → Новый проект → build & run → add (realm, alamofire, charts и т.д.) через cocoapods → открыть рабочую область Xcode → build & run again = success
Это сработало для меня:
Как только вы установили модуль Alamofire.
Шаг .1 вам следует открыть проект, дважды щелкнув файл your_project_name.xcworkspace.
Шаг 2. Перейдите к настройкам проекта → Фазы сборки → Ссылка на двоичные файлы с библиотеками → Добавить фреймворк "Alamofire.framework"
Вот оно!
Теперь вы можете импортировать модуль
Что помогло в моем случае:
1) Закройте проект и XCode
2) В команде повторного терминала
> pod install
3) Откройте проект
(Если это не помогает, попробуйте удалить папку Pod/перед повторной установкой)
Я попробовал все эти решения: перестроить, очистить, переустановить контейнеры и т.д., но в моем случае это была проблема изменения моей настройки "Build Active Architecture Only" на "No", из-за в библиотеку AR, которую я использовал. Изменено это на "Да", и оно было исправлено. Надеюсь, это поможет кому-то.
Я должен был сделать Product> (Opt Click) Clean Build Folder... затем снова запустился и проблема исчезла.
Я на Xcode версии 8.3.1 (8E1000a). Каким-то образом эта проблема возникает, когда я хотел установить модуль SwiftCloudant. Возможно, я не закрыл свой Xcode при запуске pod install.
Я исправил это вручную, добавив SwiftCloudant.framework на вкладке "Цели"> "Общие".
Вы проверили, есть ли у вас последняя версия Cocoapods? Вы можете обновить, обновив все ваши драгоценные камни:
sudo gem update
или просто переустановите Cocoapods:
[sudo] gem install cocoapods
Если это не поможет также взглянуть на: CocoaPods - построить для iOS 9/Swift 2 с Xcode-бетами
где показано, как легко изменить версию инструментов командной строки на вкладке "Местоположения" Xcode Preferences и изменить "Инструменты командной строки" на Xcode 7.0.
Build Settings -> Framework Search Paths
.Build Settings
.В заключение убедитесь, что ваш путь <Project Root>
не содержит пробелов. В противном случае переименуйте dir
, который содержит пробелы, затем очистите и создайте проект.
например. Если это ваш корень проекта: /Users/handsomeboy/ios app/Fancy App/
, переименуйте папку с пробелами. Один из способов избавиться от пространства: измените 'ios app'
на 'ios_app'
Такая же проблема для меня. Я решил, что, удалив версию 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
проверьте, что вы импортировали необходимые фреймворки
Настройка GCC_SYMBOLS_PRIVATE_EXTERN
(отображается как "Символы, скрытые по умолчанию" в целевых настройках) до YES
в рамках связанных ссылок помогла мне избавиться от этой ошибки. Я потратил 2 дня, чтобы узнать это, надеюсь, что это поможет кому-то:)
В моем случае это была другая причина, это были Другие быстрые флаги в настройке сборки моих целей, мне пришлось добавить унаследованный флаг вверху.
Следуйте инструкциям:
1. установить стручки 2. Откройте рабочее пространство 3. Запустите/создайте ваше приложение 4. Затем вы можете импортировать рамки
При установке CocoaPods обязательно укажите ios 9.0, удалив #. Поэтому # platform :ios, '9.0'
должен быть просто platform :ios, '9.0'
. Затем, если ошибка снова появляется, просто соберите и запустите. После сборки и запуска ошибка не должна возвращаться.
Кроме того, это может произойти, если на вашем компьютере установлено более одной версии Xcode. Выйти (не просто закрыть) все версии Xcode в первую очередь.
попробуй Build для тестирования у меня работает
Если вы убедились, что ваши модули были успешно установлены, то ошибка может быть связана с вашими производными данными, оставшимися до установки модулей. Вы можете очистить полученные данные, перейдя к File -> Workspace Settings... -> Derived Data
. Удаление папки производных данных, связанной с вашим приложением, и очистка вашей сборки должны решить проблему.
В моем случае:
1. Строка комментария //import Pod_Module
2. Перейдите в Проект → Очистить или использовать сочетание клавиш (Ctrl + Shift + K)
2. Закройте свой проект
3. В терминале перейдите в каталог вашего проекта
4. запустить > pod install
5. откройте файл .xcworkspace
и постройте его!
6. Раскомментируйте строку import Pod_Module
По этому адресу: https://github.com/Alamofire/Alamofire/issues/441
Один из пользователей написал это:
Очистка не сработала, переустановка с бобов не сработала, установка с карфагена не сработала, ручная установка не сработала. Я наконец заставил его работать после Build for Testing.
Поэтому я попробовал это (Xcode Version 9.2 (9C40b)):
Это сработало для меня. Ошибка исчезла.
Примечание: мой модуль не был Alamofire, поэтому я думаю, он будет работать для каждого модуля.
Другой возможный сценарий: убедитесь, что цель теста определена в пределах родительской цели (а не за ее пределами)
например,
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
тогда вы также получите эту ошибку.