Подтвердить что ты не робот

Нет такого модуля "RestKit" с кокоаподами и быстрыми

У меня возникла проблема с совершенно новым проектом. Эта проблема возникает как с RestKit, так и с Facebook SDK. Странно SwiftyJSON работает отлично. Я создаю новый быстрый проект и подфайл с:

source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

target 'test-fb-swift4' do
    pod "FBSDKCoreKit"
    pod 'SwiftyJSON', '~> 2.1'
    pod 'RestKit', :inhibit_warnings => true
end

target 'test-fb-swift4Tests' do

end

После создания этого файла я запускаю pod install и повторно открываю xcode с файлом test-fb-swift4.xcworkspace.

Теперь внутри моего контроллера я помещаю импорт RestKit, и я получаю ошибку. Нет такого модуля "RestKit". Я пробовал много разных способов форматирования Podfile вплоть до очень простых версий, например:

source 'https://github.com/CocoaPods/Specs.git'

pod 'RestKit'

Я попытался добавить и удалить use_frameworks с целью и без цели. С и без: forbit_warnings.

Я запускаю CocoaPods 0.36.4 и пробовал последнюю сборку rc, такую ​​же сделку. Версия Objective-C из другого проекта работает нормально. Это мой первый проект с использованием Swift, и я застрял в этой проблеме.

4b9b3361

Ответ 1

У меня была та же проблема. Мое решение состояло в том, чтобы открыть проект, используя .xcworkspace, а не .xcodeproj. .xcodeproj содержит только основной проект; .xcworkspace включает все, включая Restkit.

Ответ 2

У меня была аналогичная проблема. Не с RestKit специально, но изначально с HockeySDK. Я пробовал все, включая удаление и переустановку контейнеров, обновление самих cocoapods и обновление контейнеров, удаление производных данных, очистку проекта и т.д.

Затем я заметил, что для меня каждый вопрос был проблемой. После продолжения поиска по смежным темам я наконец обнаружил, что под:

• Цель > Сборка фаз > Ссылка на двоичные файлы с библиотеками

У меня была неуместная структура Pods (вероятно, из предыдущей настройки или установки установки Pods).

Target > Build Phases > Link Binary With Libraries

После удаления проблемы проблема исчезла. Я заметил, что люди, похоже, сталкиваются с подобными проблемами:

• Проект > Информация > Конфигурации

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

Ответ 3

Второй вариант работал у меня. В моем проекте > Информация > Конфигурации у меня есть 2 цели для моего проекта: обычный (Quizz) и тестовый (QuizzTests): enter image description here

Для обычной конфигурации была установлена ​​ "Pods.debug" или "Pods.release", но для QuizzTests ее не было. Как только я заполнил конфигурацию для QuizzTests, все сработало для меня.

Ответ 4

Одна вещь, которую вы могли бы очень легко сделать, чтобы исправить эту проблему, - убедиться, что XCode полностью отключен при установке контейнеров. Всякий раз, когда у меня возникает эта проблема, я возвращаюсь и узнаю, что XCode все еще открыт, хотя я закрыл проект. Надеюсь, это поможет!

Ответ 5

Для меня деинтеграция и повторная установка модулей исправили проблему.

Первая

pod deintegrate

а затем

pod install

Ответ 6

Другим потенциальным решением, которое я нашел, было добавить use_frameworks! в ваш подфайл, если вы еще этого не сделали, а затем снова запустите pod install. Это была проблема с Firebase, когда я добавил только этот модуль.

Ответ 7

Другой причиной этой проблемы могут быть неправильные значения в целевых настройках сборки - только для создания активной архитектуры. Настройки, как на картинке, работают для меня. Правильные настройки

Ответ 8

У меня была аналогичная проблема при добавлении Fabric в мой проект. У меня было несколько целей (Release and Dev). Он не выбрасывает No Such Module для import Fabric. То, что сработало для меня, - это перейти к Project> Build Phases> Link Binary с библиотеками и просто пометить статус обеих фреймов pod как необязательный. enter image description here

Ответ 9

Для меня не найден флажок "Найти неявные зависимости". и это была проблема. Работал отлично, как только я checked его.

Путь: Edit Scheme > Build > Find implicit Dependencies

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

Ответ 10

В моем случае мне пришлось только проверить следующий вариант в Xcode Найти неявные Dependecies введите описание изображения здесь

Я не знаю точно, почему, но этого было достаточно для меня, надеюсь на вас тоже:).

Ответ 11

После нескольких часов попыток я обнаружил причину. У моей главной цели приложения были 4 конфигурации сборки (отладка, выпуск, внутренняя, внешняя). Однако у моих фреймворков (дочерних проектов) не было внутренних, внешних, поскольку они добавлены пользователем. Как только я добавил внутренние/внешние к моим проектным проектам, все архивированные в порядке.

Ответ 12

Это должно сделать трюк:

  1. дезинтеграция
  2. rm -rf yourproject.xcworkspace
  3. pod install

Ответ 13

Если вы используете несколько целей, которые обращаются к одному и тому же классу (например, приложение расширения сообщений), и если этот класс добавлен к обеим целям, вы должны добавить pod для обеих целей в PodFile.

Ответ 14

В моем случае сначала у меня была только одна цель в xcode. Я выполнил pod install. Несколько месяцев спустя мне пришлось сделать еще одну цель, поэтому у меня было несколько целей.

В этой ситуации, если я делаю pod install и строю xcode, я получаю ошибку "нет такого модуля".

Итак, я удалил файлы pod, а затем pod init.

Формат подфайла изменен для нескольких целей

Это работает!!

Проверьте это!

Ответ 15

Вещи, которые я пробовал:

  • Удаление и повторное добавление структуры связанных блоков
  • очищающий
  • Удаление полученных данных
  • pod install again

Единственное решение, которое я имел для этой проблемы, заключалось в том, чтобы показать цель Pods- (yourapp) в сборщике схем (рядом с кнопками run/stop) и вручную создать эту цель Pods-, прежде чем снова создать и запустить мою главную цель приложения. Надеюсь, это может спасти кого-то 10 минут!

Ответ 16

Один из ответов здесь заключался в make sure that XCode is completely shut down when installing pods и я знал, что не сделал этого. Поэтому я просто полностью закрыл Xcode и снова открыл его, не выполнив pod install и исправил проблему. Поэтому перезагрузка Xcode работала для меня.

Ответ 17

Когда я редактировал и удалял каталог, мне не нужно было в Проект - Настройки сборки (рядом с Информация), он протирал из двух элементов в Пути поиска в кармане в моем приложении Целевая в Настройки сборки. Убедитесь, что все четыре строки имеют записи, заполненные автоматически с помощью Pod, как показано на рисунке ниже: Пути поиска в настройках сборки для вашего целевого приложения Чтобы скопировать записи из Отладка и Отпустить в строки ниже, выберите одну строку за раз и нажмите delete, которая должна быть скопирована из строки выше. Как только я это сделаю, рабочая область будет построена просто отлично.

Ответ 18

Создается ли ваше приложение с использованием основной цели?

Если это так, я смог получить эту работу:

  1. Добавление записи для каждой цели в подфайле
  2. Запустить pod install

Вот мой последний подфайл.

platform :ios, '11.3'

target 'myapp' do
  use_frameworks!

  # Pods for myapp
  pod 'KeychainSwift'
  pod 'ReachabilitySwift'
  pod 'Firebase/Core'
  pod 'Fabric'
  pod 'Crashlytics'

  target 'myappTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'myappUITests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'myapp-local' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'myapp-master' do
    inherit! :search_paths
    # Pods for testing
  end
end

Ответ 19

Журнал идей. Во-первых, я думаю, что эта проблема связана с тем, что ссылка на библиотеку или путь поиска в каркасе отсутствует в этом модуле, но на самом деле это происходит там.

Во-вторых, я думаю, это может быть потому, что поддержка версии на XCode 10 приводит к неправильному отображению элемента. Но после чистого проекта удалите полученные данные, закройте Xcode, удалите pod relate file и re-pod install. Все эти шаги все еще не удались.... Я провел 4 часа на этом втором этапе...

В-третьих, наконец, продолжая поиски google в StackOverflow, я обнаружил, что этот человек @Tyler Sheaffer оставил свой опыт в решении @metatheoretic.

Один человек оставляет свой опыт под другим ответом. И это напоминает мне, что я меняю конфигурацию в начале дня на несколько схем, что самое главное, потому что из учебника я следую тому, что он учит нас называть имя конфигурации с примером: Debug (Development). Но Cocoapods не могут принять(). Поэтому я изменил конфигурационное имя Debug_Development... Итак !!! Проблема заключается в том, что управление схемами автоматически обновляет имя конфигурации на одной из моих клиентских схем, таких как "Разработка", и я проверяю только обновление имени в схеме "Разработка", которое делает успешное обновление, затем я просканирую, чтобы проверить другие две пользовательские схемы (этап, производство). Но!!! Эти двое по-прежнему остаются старым неправильным именем конфигурации. Поэтому мой модуль Kingfisher никогда не будет найден, потому что он не соответствует конфигурации и схеме. Наконец, я решаю эту проблему, выбирая новый файл конфигурации обновления в схеме Project/Scheme/Manage Schemes/Case closed.

enter image description here

Ответ 20

Это произошло со мной, когда расширение приложения имело другую целевую версию iOS, чем приложение. Совпадение с ними исправило это для меня.

Ответ 21

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

В моем случае я пытался использовать Dip-UI библиотеку. В примере проекта использовался Карфаген, который я хотел заменить CocoaPods. Имя модуля с Carthage было DipUI, в то время как CocoaPods было Dip_UI, что означало, что я получаю "Нет такого модуля", пока не изменю имя.

Ответ 22

Ваш xcode не обновляется до версии, ожидаемой библиотекой/фреймворком