When trying to pod install
a new Podfile
into an existing Xcode (iOS) project, I get the following error message from Terminal: [!] Unable to find a specification for 'XCDYouTubeKit (~> 2.1.1)'
. The Podfile that I was trying to load looks like this:
# 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
Additionally, the file structure for my Xcode project is as follows:
DemoApp
Podfile (file)
Pods (directory)
DemoApp (directory)
DemoApp.xcodeproj (file)
DemoAppTests (directory)
What about this installation is not working? Where am I going wrong? I'm running Cocoapods 0.35.0
. Am I missing a pod spec
file? I don't understand what it is or what the file structure of such a file would like.
Citing your conversation in the comments, you'll want to execute sudo rm -fr ~/.cocoapods/repos/master
because it'll remove all the bogus and corrupted repos that you have in your computer to give it a chance to repopulate after you redo pod setup
, which'll reinstate you with a fresh Cocoapods setup. Additionally, you'll want to specify sudo xcode-select --switch /applications/Xcode.app
where your new version of Xcode is. That was just another setup procedure that I had to do to complete the fix. From there, just do pod setup
and you're set to run pod install
to integrate all the libraries that you want!
You can also force it by setting it like this:
pod 'yourpodframework', :git => 'https://github.com/username/yourpodframework'
I had the same problem. But I've got to fix my issue with the following procedure.
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
I'll put this here for future reference: In my case the problem was a faulty podspec with a syntax issue that had been pushed to a remote. The Podfile contained a reference to a specific github commit. Apparently in this situation CocoaPods give the quite unhelpful error message about "missing podspec" although the podspec is definitely there, only botched.
Solution: download the podspec file (e.g. by cloning the entire pod's repo) and run pod spec lint
.
Alternatively: clone the pod locally and change the Podfile reference to a local path. Doing a pod install
in this case will show a much more helpful error message. Like this:
[!] Invalid `<some>.podspec` file: syntax error, unexpected tCONSTANT, expecting keyword_end
...eGraphics', 'QuartzCore, 'IOKit', 'XCTest'
As you can see, in my case this was a missing quote after QuartzCore
来源:https://stackoverflow.com/questions/28844013/cocoapods-unable-to-find-a-specification-for-github-framework