Why can't I specified the dependency version in a private pod? - ios

I have a private pod and some configuration of the podspec file is as follows:
s.dependency 'QMUIKit','~> 2.7.1'
By the way, the newest version of QMUIKit is 2.7.2.And the cocoapods version of mine is 1.4.0
When I use pod lib lint command to verify the podspec file,I found that QMUIKit is installing to 2.7.2,the newest version in the master repo of cocoapods. And it is for this reason that my private pod can't be validated.
Why is that?What's wrong with the profile.

Related

Cocoapods not installing latest version of FBSDK

I have installed FBSDK in my swift project. As I checked on GitHub the latest version of
facebook-ios-sdk is 9.1.0, but when I installed it showed 5.15.1.
In my pod file:
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
Check if you have another dependency on this library which needs this "5.15.1" version. If there isn't any: follow this
Have you tried to update cocoapods?
sudo gem install cocoapods

Target has transitive dependencies that include statically linked binaries in podspec

I have a problem when I try to update google-cast-sdk pod in the podspec file my Pod library project.
In this podspec file I have:
s.dependency 'google-cast-sdk', '= 4.2.0'
This version works fine, but I need update the library to the last version so I modified this line to:
s.dependency 'google-cast-sdk'
But when I execute the pod install I get the following error:
[!] The 'Pods-XXXPlay_Example' target has transitive dependencies that
include statically linked binaries:
(/Users/juanfran/code/xxxx-play-ios/Example/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.7_static/GoogleCast.framework)
Could you help me with this problem, please?
Thanks so much.

Unity fails to compile project with firebase analytics because of Cocoapods

I'm trying to integrate Firebase-Analytics in my Unity 2013.3.1 project.
After following the integration guide, I've tried to build the project.
However, Unity fails to build. The reason seems to be cocoapods.
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "Firebase/Analytics":
In Podfile:
Firebase/Analytics (= 4.8.1)
None of your spec sources contain a spec satisfying the dependency: `Firebase/Analytics (= 4.8.1)`.
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.
I've tried to reinstall cocoapods and re-run pod setup, and also deleting the repo and re-setupping using rm -rf ~/.cocoapods/repos/master, but I had no success.
Here's the generated Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
target 'Unity-iPhone' do
pod 'Firebase/Analytics', '4.8.1'
pod 'Firebase/Core', '4.8.1'
end
One last thing I've tried was to remove the specific version tags into the Podfile (I've removed the '4.8.1'). This fixed the pod install, however I couldn't find a way to have a successfull build from unity, since the Podfile is auto-generated.
Here's the pod install output after removing the version tag:
Analyzing dependencies
Downloading dependencies
Installing Firebase (4.9.0)
Installing FirebaseAnalytics (4.0.9)
Installing FirebaseCore (4.0.15)
Installing FirebaseInstanceID (2.0.9)
Installing GoogleToolboxForMac (2.1.3)
Installing nanopb (0.3.8)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `Unity-iPhone.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 6 total pods installed.
It looks like FirebaseAnalytics is currently at version 4.0.9, not 4.8.1.
Did anyone have similar issues?
Update to the 4.4.2 release.
Or to workaround with 4.4.1:
Manually edited each of Dependencies.xml files in Assets/Firebase/Editor to change the version from 4.8.1 to 4.8.2. Example:
<iosPods>
<!-- Mike changed this from 4.8.1 to 4.8.2 -->
<iosPod name="Firebase/Analytics" version="4.8.2" minTargetSdk="7.0">
</iosPod>
</iosPods>
Reference and additional detail here.
The version of FirebaseAnalytics used by Firebase 4.9 is 4.0.9, not 4.8.1. See the podspec for reference.
Another possible issue for failing is that your dependency (iOS 7) is too old and it's not supported by Xcode 9, nor by the latest version of Firebase.
Replace
platform :ios, '7.0'
with
platform :ios, '8.0'

How to download a deprecated pod

I was using a pod file in my previous iOS project which I want to include in my new project as well. But it has been deprecated and I am unable to include it using pod install in terminal. How to do it?
Edit1: Is there a way to manually include a pod from an existing project instead of "pod installing" it?
If you want to install deprecated pods, just include the version of that pod when you declare it in the Podfile.
For example, in order to install version 2.6.3 of AFNetworking via Cocoapods, here's how you would declare it in the Podfile:
pod ‘AFNetworking’, ‘2.6.3’
Doing a pod install installs it correctly.
The Podfile.lock file holds the version of the pods you were using, so if you have the Podfile and Podfile.lock, you can make a pod install and it should install the same pods.

Firebase CocoaPods Installation Not Working

I'm trying to install Firebase via CocoaPods for my Objective-C iOS Application. My Podfile is as follows:
target 'RandomName' do
pod 'Firebase/Core'
pod 'Firebase/AdMob'
end
When I run pod install, I get the following error:
[!] Unable to satisfy the following requirements:
- `Firebase/Core` required by `Podfile`
None of your spec sources contain a spec satisfying the dependency: `Firebase/Core`.
You have either:
* out-of-date source repos which you can update with `pod repo update`.
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.
The latest version of CocoaPods is installed, and I have tried running pod repo update. Having a Podfile of the following works fine, but when I try to #import Firebase; in my AppDelegate.m file, Xcode cannot find the module.
target 'RandomName' do
pod 'Firebase'
end
However, the following combination does not install:
target 'RandomName' do
pod 'Firebase'
pod 'Firebase/AdMob'
end
Any help would be appreciated!
Check what version of Firebase is installed when you use pod 'Firebase'. For me it installs 2.4.3 which is an old version. The docs say that the pod should install 3.2 using that pod. It explains why the other pods don't work as they are part of Firebase 3. Pod update doesn't update Firebase to the latest version either. Even forcing a version doesn't work. It can't seem to find the new Firebase versions even though they are in the same podspec.
Here is how I solved it:
make sure you have the latest version of git installed
make sure you have cocoapods >= 1.0.0 installed
delete your pods repo (run pod repo remove master) and use pod setup to make a new one
use the following in your pod file
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Firebase/Core'
(use whatever you want, just don't use 'Firebase')
pod install
everything should install properly
Running 'pod repo remove master' to remove the Pods repo //removes the library
Running 'pod setup' //clones the updated git repo for specs which takes long time as its size is beyond 300K (Be patient!)
Running 'pod install' //problem is solved
have you tried to add
frameworks
use_frameworks!
after target 'RandomName' line
and adding
platform :ios, '9.0'
before target ....
A couple of items to try. From your question, you did try the first two items, but leaving here for completeness of my answer.
The error response you get is helpful. Follow the steps for pod repo update
Make sure your pod is up to date.
pwd> pod --version
1.0.0
Make certain that your git is up to date. I had a build machine that had an outdated git (1.7), and I had the same exact error
-
When I updated to this version from git 1.7 it worked fine.
pwd> git --version
git version 2.8.1
My Podfile for using Firebase Dynamic Links
run pod init from the folder where your .xcodeproj is
Be sure to only launch the .xcworkspace instead of the .xcodeproj from here out.
platform :ios, '8.0'
use_frameworks!
target 'the-name-of-target' do
pod 'Firebase/DynamicLinks'
end
The Same problem occurred while on pod install command.
Please relaunch terminal and navigate to your Xcode project then
simply fire same pod install command. 'Firebase/Database' will installed successfully :)
I just doing following step to fix this error:
$pod setup -- verbose
Then do $pod install
that works for me and my pod file is:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'the-name-of-target' do
pod 'Eureka', '~> 1.6'
end
UPDATE:
Then you can remove your master and re-install cocoapods using following code:
cd ~/.cocoapods/repos
rm -rf master
pod setup
I had the same error, and my solution was to downgrade Cocoapods to 1.0.0, because Cocoapods 1.0.1 didn't work as I expected. Everything works great now!
sudo gem uninstall cocoapods -v 1.0.1
sudo gem install cocoapods -v 1.0.0
My Podfile:
platform :ios, '8.0'
target 'XXX' do
pod 'Firebase/Auth'
pod 'Firebase/Database'
end
For people still having problems with this. When directly coping the firebase walkthourgh website, the install string is:
pod `Firebase/Core`
While it should have been:
pod 'Firebase/Core'
No need for pod setup if this applies to you too.
Update Git and Cocoapods to the last version:
Git: $ brew update && brew upgrade
Cocoapods: $ pod repo update

Resources