cocoapods: неожиданная версия каталога обнаружена. Как это исправить?
Я использую CocoaPods, чтобы добавить зависимость в мой проект.
Мой файл pod находится в папке Users/myUser/Desktop/project/project.
Это выглядит так:
source 'https://github.com/hackiftekhar/IQKeyboardManager.git'
pod 'IQKeyboardManager'
xcodeproj '../project.xcodeproj'
и это называется Podfile.
Когда я бегу pod install
Я получаю этот вывод:
Анализ зависимостей
[!] Неожиданная версия каталога
Categories
был встречен для/Users/myUser/.cocoapods/repos/hackiftekhar/IQKeyboardManager
Стручок вIQKeyboardManager
репозиторий.
Что ждет CocoaPods здесь и как я могу это исправить?
Спасибо,
С
2 ответа
Как это исправить, описано в репозитории Cocoapod, выпуск 6089.
Шутка этого скопирована здесь в случае разрыва связи в будущем:
- Отправная точка
Я пытаюсь создать частный модуль.
Окружение: Xcode 8 Cocoapods 1.1.1
Дерево файлов моего модуля:
выглядит так
.
├── LICENSE
├── MoudlePod3
│ ├── 0.0.1
│ │ └── MoudlePod3.podspec
│ ├── TestObject3.h
│ └── TestObject3.m
├── MoudlePod3.podspec
└── README.md
- запустить установку pod
Все отлично!
- Изменить создание проблемы: Затем я добавляю несколько новых папок и файлов в дерево обновленных файлов pod:
.
├── LICENSE
├── MoudlePod3
│ ├── 0.0.1
│ │ └── MoudlePod3.podspec
│ ├── 0.0.4
│ │ └── MoudlePod3.podspec
│ ├── NewClass
│ │ ├── TestObjectNew.h
│ │ └── TestObjectNew.m
│ ├── TestObject3.h
│ └── TestObject3.m
├── MoudlePod3.podspec
└── README.md
Увеличить версию подспека до 0.0.4
Обновите подфайл клиента следующим образом: Файл демонстрационного проекта:
источник ' https://github.com/CocoaPods/Specs.git' источник 'http:///ljb/MoudlePod3.git'
target 'MoudleApp' do pod 'MoudlePod3', конец ~ ~ 0.0.4
запустить установку pod
[!] Неожиданный каталог версий NewClass был обнаружен для модуля /Users/apple/.cocoapods/repos/MoudlePod3/MoudlePod3 в хранилище MoudlePod3.
- Объяснение и решение от @benasher44: А, так что источник 'http:///ljb/MoudlePod3.git' означает, что он ожидает, что это будет репозиторий спекуляций, но похоже, что вы пытаетесь объединить репо спекуляций и репо где вы храните код для вашего модуля, который не поддерживается. Вместо этого вы должны удалить пользовательскую строку исходного кода и сделать что-то вроде pod 'MoudlePod3', '~> 0.0.4',:git => ''. Проверьте https://guides.cocoapods.org/using/the-podfile.html для получения дополнительной информации.
или в моем случае исправьте исходную строку, чтобы она указывала на репозиторий с закрытыми спецификациями, а не на репозиторий с исходным кодом модуля... Дох!
Надеюсь, это поможет.
У меня была похожая проблема:
[!] An unexpected version directory `Base.lproj` was encountered for the etc...
обновление до последней версии cocoapods, казалось, решило эту проблему:
gem install cocoapods --pre
Посмотрите на проблему CocoaPods
Надеюсь, это поможет.