Не удается найти Pods.modulemap - поиск в неправильном каталоге

Я пытаюсь заставить CocoaPods работать в проекте Swift, но это мой первый раз.

Мой Подфайл

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Alamofire', '~> 1.2'
pod 'SwiftyJSON', '~> 2.2.0'

Я запускаю pod install но сборка дает мне эту ошибку:

Error: unable to read module map contents from 'Target Support 
Files/Pods/Pods.modulemap': Error Domain=NSCocoaErrorDomain Code=260
 "The file "Pods.modulemap" couldnt be opened because there is no such file." 
UserInfo=0x7fac488d5af0 {NSFilePath=/Users/jt/tmp-ios/my-template/Pods/Target 
Support Files/Pods/Pods.modulemap, NSUnderlyingError=0x7fac457f0e90 "The operation 
couldnt be completed. No such file or directory"}

Странно то, что это /Users/jt/tmp-ios/даже не каталог, в котором я нахожусь.

Tue Jun 09$ pwd
/Users/jt/repos/EmbersSwift
Tue Jun 09$ 

У меня уже было что-то в этом каталоге, на что он ссылается, что не ясно. Как бы я это исправить? Я подозреваю, что это что-то в Pods.debug.xconfig, но надеялся, что кто-то имел дело с этим раньше.

Ответы

Ответ 1

Решение, которое работало для меня, было:

Первый шаг:
(этот шаг больше не требуется в Xcode 9.x и новее)

  1. Открыть Xcode
  2. Нажмите Окно (Строка меню)
  3. Нажмите Проекты
  4. Удалить все проекты (например, использовать Backspace)
  5. Закрыть Xcode

Второй шаг:

  1. Откройте приложение терминала
  2. cd ~/Library/Developer/Xcode/DerivedData
  3. rm -rf Build/* см. ниже, если у вас есть настроенное местоположение сборки
  4. rm -rf ModuleCache/*
  5. Закрыть приложение терминала

Третий шаг:

  1. Открыть Xcode
  2. Продукт> Чистый
  3. Продукт> Выполнить

Источник: fooobar.com/questions/333276/...

Если вы определили пользовательское местоположение сборки:

  1. Перейдите с Finder или Терминал к месту расположения файлов сборки. Расположение для этих файлов определено в XCode. Чтобы проверить, где находятся эти файлы:
    • Открыть Xcode
    • Зайдите в Settings → Locations → Derived Data
  2. Перейдите в это место и удалите папку Build

Изменение: 9 июня 2016 г.

Также возможно, что это решит вашу проблему:

По умолчанию очистка XCode не удаляет все, перейдя в Product, нажав ALT -key, Clean -button изменится на Clean Build Folder...

Ответ 2

В моем случае я внес несколько изменений в свой PodFile, получил аналогичную ошибку и просто перезапустил "install":

% pod install

И я снова был в бизнесе.

Ответ 3

Я решил свою проблему, удалив контейнеры из файла pod, pod install, добавлю их снова, затем pod install again.

выглядит как неправильно установлен модуль.

Ответ 4

Аналогичная проблема возникла со мной с базовыми данными при изменении ресетов, в которых была задействована основная новая версия из элемента управления источника (Git). он бросил:

/Path/To/Model/Model.xcdatamodel: Не удалось прочитать модель данных Ошибка Domain = NSCocoaErrorDomain Code = 260 "Файл" Содержимое "не может быть открыт, потому что такого файла нет." UserInfo = {NSFilePath =/Path/To/Model/Model.xcdatamodel/contents, NSUnderlyingError = 0x7fb632e558d0 {Error Domain = NSPOSIXErrorDomain Code = 2 "Нет такого файла или каталога" }}

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

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

  • Откройте RootModel.xcdatamodel(щелкните левой кнопкой мыши по модели и покажите в Finder).
  • Вручную удалите Model.xcdatamodel, который вызывает проблему.
  • Очистить проект (cmd + shift + k) и выполнить.

Надеюсь, это поможет кому-то.

Ответ 5

Простейший способ, хотя и подходит к настройкам Xcode

Preferences->Locations->Derived Data

Просто удаление папки Derived Data делает трюк. Просто очистите и создайте проект еще раз, не следует бросать какие-либо ошибки.

Ответ 6

Что мне помогло, так это перейти в каталог проекта, где находится файл pod. а также:

rm -f Podfile.lock
rm -rf Pods/

Это фактически удалило всех преступников, и я смог построить и запустить проект снова.

(Я также сделал ранее упомянутые шаги, удалил папку сборки и кеши модулей, но это не помогло)