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


89

У мене працює 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 install

І я додав наступне до ViewController.swift

import Alamofire

Це спричиняє таку помилку:

Cannot load underlying module for 'Alamofire'

Я тестував з іншим стручком, і це призвело до тієї ж помилки, тому, мабуть, проблема в установці Cocoapods. Будь-яка допомога буде вдячна.


переконайтеся, що ви імпортували необхідні фреймворки
user3722523

Відповіді:


209

Здається, це помилка в XCode. У мене була та сама проблема, і, як описано в коментарях до іншої відповіді на це питання, побудова проекту змусила помилку усунути.


4
Я майже приїжджаю сюди на початку будь-якого проекту ... Дякую,
приятелю

2
Проклятий обхідний шлях все ще працює .. XCode має бути відкритим.
Сіддхарт


14

Це працювало для мене:

  1. Закрийте свій проект
  2. У терміналі перейдіть до каталогу вашого проекту
  3. Додайте цю команду: pod update
  4. Після цього всі ваші стручки будуть оновлені. Просто запустіть свій проект

10

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

Як виправити проблему:

Крок: 1 Створіть новий проект і успішно побудуйте та запустіть, не встановлюючи pod.

Крок: 2 Після успішного побудови та запуску проекту, спробуйте встановити pod, а потім спробуйте імпортувати царство, 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/папку перед перевстановленням
nikans

7

Я спробував усі ці рішення: відновлення, очищення, повторна установка стручків тощо, але в моєму випадку це була проблема зміни мого налаштування "Створення активної архітектури лише" на "Ні" через AR бібліотека, якою я користувався. Змінив його на "Так", і це було виправлено. Сподіваюся, це комусь допомагає.


Правда, це була основна проблема, вам доведеться чистити за допомогою command-shift-K
Хола Сой Еду Феліз Навідад

Мені довелося встановити його з ТАК на НІ. Дивно.
Мунді

7

Мені довелося зробити папку Product> (Opt Click) Clean Build ..., а потім запустити знову, і проблема зникла.


5

Я на Xcode версії 8.3.1 (8E1000a). Якось ця проблема виникає, коли я хотів встановити модуль SwiftCloudant. Можливо, я не закрив свій Xcode під час запуску встановлення pod.

Я виправив це вручну, додавши SwiftCloudant.framework на вкладці Цілі> Загальне.

Цілі> Загальне> Пов'язані фреймворки та бібліотеки


Після того, як все інше не вдалося, це насправді спрацювало. Дуже дякую.
AmirZ

4

У моєму випадку це була інша причина, це Інші швидкі прапори в налаштуваннях моєї цілі, і мені довелося додати успадкований прапор у верхню частину.


3

Ви перевіряли, чи є у вас остання версія Cocoapods? Ви можете оновити, оновивши всі свої дорогоцінні камені:

sudo gem update

або просто переінсталюйте Cocoapods:

 [sudo] gem install cocoapods

Якщо це не допоможе, також подивіться на: CocoaPods - збірка для iOS 9 / Swift 2 з Xcode-beta

where показує, як легко змінити версію інструментів командного рядка на вкладці «Місцеположення» параметрів 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

Один із користувачів написав це:

Чистка не спрацювала, повторна установка з стручків не спрацювала, установка з картриджа не спрацювала, установка вручну не спрацювала. Нарешті я змусив його працювати після побудови для тестування.

Тож я спробував це (xcode Версія 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. Перейдіть до проекту -> Очистіть або скористайтесь комбінацією клавіш (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.