Cocoapods - Невозможно найти спецификацию для [Github framework]
При попытке pod install
нового Podfile
в существующий проект Xcode (iOS) я получаю следующее сообщение об ошибке от терминала: [!] Unable to find a specification for 'XCDYouTubeKit (~> 2.1.1)'
. Подфайл, который я пытался загрузить, выглядит следующим образом:
# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'
target 'DemoApp' do
pod 'XCDYouTubeKit', '~> 2.1.1'
end
target 'DemoAppTests' do
end
target 'TheDayByDay' do
end
Кроме того, структура файла для моего проекта Xcode выглядит следующим образом:
DemoApp
Podfile (file)
Pods (directory)
DemoApp (directory)
DemoApp.xcodeproj (file)
DemoAppTests (directory)
Как насчет этой установки не работает? Где я иду не так? Я запускаю Cocoapods 0.35.0
. Мне не хватает файла pod spec
? Я не понимаю, что это такое или что такое файловая структура такого файла.
Ответы
Ответ 1
Ссылаясь на ваш разговор в комментариях, вы захотите выполнить sudo rm -fr ~/.cocoapods/repos/master
, потому что он удалит все фиктивные и поврежденные репозитории, которые у вас есть на вашем компьютере, чтобы дать ему возможность повторно заполнить после повторного использования pod setup
, который восстановит вас с помощью новой установки Cocoapods. Кроме того, вы захотите указать sudo xcode-select --switch /applications/Xcode.app
, где находится ваша новая версия Xcode. Это была еще одна процедура установки, которую я должен был выполнить, чтобы завершить исправление. Оттуда просто сделайте pod setup
, и вы настроите на запуск pod install
, чтобы интегрировать все библиотеки, которые вы хотите!
Ответ 2
Вы также можете заставить его, установив его так:
pod 'yourpodframework',: git = > 'https://github.com/username/yourpodframework'
Ответ 3
У меня была та же проблема.
Но я должен исправить свою проблему со следующей процедурой.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'Test' do
use_frameworks!
# pod 'Alamofire', '~> 4.0'
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git'
# pod 'SwiftyJSON' , '~> 3.1'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
# pod 'SideMenu' '~> 2.0'
pod 'SideMenu', :git => 'https://github.com/jonkykong/SideMenu.git'
# pod 'SDWebImage', '4.0.0-beta2'
pod 'SDWebImage', :git => 'https://github.com/rs/SDWebImage.git'
# pod 'SwiftDate', '~> 4.0'
pod 'SwiftDate', :git => 'https://github.com/malcommac/SwiftDate'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
Ссылки для дополнительной информации
Ответ 4
Я поставлю это здесь для дальнейшего использования:
В моем случае проблема была неисправным podspec с проблемой синтаксиса, которая была нажата на удаленный.
Подфайл содержал ссылку на конкретную транзакцию github.
По-видимому, в этой ситуации CocoaPods дают совершенно бесполезное сообщение об ошибке "missing podspec", хотя podspec определенно существует, только испорченный.
Решение: загрузите файл podspec (например, клонировав всю резервную копию pod) и запустите pod spec lint
.
Альтернативно: клонировать блок локально и изменить ссылку на подфайл на локальный путь. Выполнение pod install
в этом случае покажет гораздо более полезное сообщение об ошибке. Вот так:
[!] Invalid `<some>.podspec` file: syntax error, unexpected tCONSTANT, expecting keyword_end
...eGraphics', 'QuartzCore, 'IOKit', 'XCTest'
Как вы можете видеть, в моем случае это была пропущенная цитата после QuartzCore