I cannot understand why the Cocoapod is unable to find the pod specification I created when I run pod install
. Could someone help me solve this trouble?
I'm defining a subspec in my library podspec file like this:
s.subspec 'mysubspec' do |c|
c.dependency 'ABC','1.0.0'
end
This dependency ABC is listed in the library Podfile:
pod 'ABC', :git => 'git@github.com:myrepo/Podspecs.git', :branch => 'xyz'
The Podspec file ABC.podspec
in the branch xyz of myrepo/Podspecs seems like this:
Pod::Spec.new do |s|
s.name = "ABC"
s.version = "1.0.0"
s.source = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
end
The error is [!] Unable to find a specification for ABC (= 1.0.0)
Solution: import the pod ABC before importing the subspec and add the tag to the podspec.
Instead of:
s.source = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
Write this: Don't forget the tag...
s.source = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz",
:tag => s.version.to_s }
I suppose that there is a problem with your pod master repo. Delete it and download it again.
You can do:
pod repo remove master
pod setup
pod install
Or:
sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install
For me it was an issue with finding the spec, not the spec itself. I needed to add a source link to the Podfile, see Podfile documentation
Cocoapods recently added the need to link to the repo that holds the pod spec file you are looking for, the default is:
source 'https://github.com/CocoaPods/Specs.git'
You may need to add multiple source links if you are using more obscure or homemade pods.
With me, this worked like a charm.
pod repo remove master
pod setup
However, you may try directly, pod setup
as some users pointed.
I resolve this after add
source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'
to Podfile. well .I used a local repository as my Repo. So i can user this in another podspec file
s.dependency 'iOS_Networking_CPN', '~> 0.1.1'
iOS_Networking_CPN
is in the local path.
I was getting similar error for MGBoxkit
[!] Unable to find a specification for
MGBoxkit
By replacing the following line
pod 'MGBoxkit'
with
pod 'MGBoxKit'
fixed the issue.
Update the master repo for cocoapods.
`pod repo update master`
Make sure you added
source 'https://github.com/CocoaPods/Specs.git'
at the very beginning of your Podfile
I missed adding ,
causing issue.
Replacing,
pod 'PodName' '~> 2.3'
With,
pod 'PodName', '~> 2.3'
Did the job.
I solved my problem with below command:
cocoa pod update
To update use this command
sudo gem install cocoapods
if above command gives error than use this one
sudo gem install -n /usr/local/bin cocoapods
and than do this
pod repo update
You first need to add your Podspec to a private specs repo; this lets CocoaPods find the pod when you try to install it.
Enter the following in Terminal, making sure you’re still in the framework directory you are trying to add:
pod repo add [your framework name] [Your framework Git URL]
pod repo push [your framework name] [your framework .podspec file name]
had the same problem.
what really worked for me was gem uninstall cocoapods
(as mentioned above by https://stackoverflow.com/users/4264880/seema-sharma) where I found that I had 11 (!) different cocoapods versions installed.
I chose to uninstall all and then gem install cocoapods:1.4.0
All good now.
For me, the below worked well but first try could be direct "pod setup" command If that don't work then go for the below commands would definitely make things happen.
pod repo remove master
pod setup
pod install
Follow the below steps :
Step 0: pod repo update master
Step 1: pod install
And you are done!
来源:https://stackoverflow.com/questions/25913733/unable-to-find-a-specification-in-cocoapods