Installing Firebase Storage & GeoFire with Pod - [Minimum development target error] - ios

I am using Firebase and GeoFire in my Podfile. They are working fine. My Podfile.lock file shows versions as:
- Firebase (2.5.1)
- GeoFire (1.1.3):
- Firebase (~> 2.2)
- FirebaseOSX (~> 2.4)
Now I tried to add pod 'Firebase/Storage' in my Podfile and pod install
[!] Unable to satisfy the following requirements:
Firebase/Storage required by Podfile
Specs satisfying the Firebase/Storage dependency were found, but they required a higher minimum deployment target.
Then, I tried pod update Firebase; and now I received another error:
Firebase required by Podfile
Firebase (~> 2.2) required by GeoFire (1.1.3)
Specs satisfying the Firebase dependency were found, but they required a higher minimum deployment target.
Specs satisfying the Firebase (~> 2.2) dependency were found, but they required a higher minimum deployment target.
What should I do? How can I install Firebase Storage to my project?
My podfile:
platform :ios, "9.0"
use_frameworks!
target 'MyApp' do
pod 'Firebase'
pod 'GeoFire', '>= 1.1'
pod 'Firebase/Storage'
end
Edit:
I tried extracting GeoFire from podfile, updating Firebase and then installing Firebase/Storage. It succeed; however when I try re-installing GeoFire again, I receive errors:
When I try pod 'GeoFire', '~> 2.0' and pod install:
[!] Unable to satisfy the following requirements:
GeoFire (~> 2.0) required by Podfile
When I try pod 'GeoFire' and pod install:
[!] Unable to satisfy the following requirements:
Firebase required by Podfile
Firebase (= 3.2.1) required by Podfile.lock
Firebase (~> 2.1) required by GeoFire (1.1.0)

Related

GeoFire on iOS with Firebase 5

The update from Firebase 4.x to Firebase 5.0.0 broke my GeoFire installation. I was installing GeoFire via "Podfile" like this:
pod 'GeoFire', :git => 'https://github.com/firebase/geofire-objc.git'
I now receive this error message:
[!] CocoaPods could not find compatible versions for pod
"Firebase/Database": In Podfile: Firebase/Database
GeoFire (from https://github.com/firebase/geofire-objc.git) was
resolved to 2.0.1, which depends on Firebase/Database (~> 4.0) Specs
satisfying the Firebase/Database, Firebase/Database (~> 4.0)
dependency were found, but they required a higher minimum deployment
target.
The deployment target in Podfile as well as in the Xcode project is iOS 11. So there really is no higher minimum deployment target.
Cloning the repo locally and changing the installation to
pod 'GeoFire', :path => '/Users/georg/Projekte/Repos/geofire-objc'
and raising the dependency to Firebase 5.0 does not seem to work either as I now receive the error message
[!] The 'Pods-poifinder' target has transitive dependencies that
include static frameworks: (FirebaseDatabase, FirebaseCore,
FirebaseAuth, FirebaseFirestore, FirebaseFunctions, and
FirebaseStorage)
Firebase has switched to source pods with v5.0.0 which might be an explanation for this.
My question is now: How do I get GeoFire to work with Firebase 5.0 in a Swift 4.1 project. Thanks!
Until this is fixed in the repository you can use this workaround:
Clone the repository locally
Edit your podfile and point to the local repository like this
pod 'GeoFire', :path => '/Users/hans/repos/geofire-objc'
In "GeoFire.podspec" in the local repository edit the dependency like this
s.ios.dependency 'Firebase/Database', '~> 5.0'
Add this line to "GeoFire.podspec":
s.static_framework = true
Run
pod update

Installing GeoFire with cocoapods

I am currently trying to set up GeoFire with my Firebase project and have a podfile like this:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target '[Appname]' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for [Appname]
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'GeoFire', '~> 1.1'
end
However, running a pod install command gives this error:
[!] Unable to satisfy the following requirements:
Firebase (~> 2.1) required by GeoFire (1.1.0)
Specs satisfying the Firebase (~> 2.1) dependency were found, but they required a higher minimum deployment target.
I can't figure out how to get GeoFire installed. Isn't GeoFire compatible with the new Firebase?
Solution
pod 'GeoFire', :git => 'https://github.com/firebase/geofire-objc.git'

firebase pod was installed less version than the latest version exists

I try to install the latest version of Firebase pod. I know that the latest version of this pod is 4.1.1 from cocoa pods official site https://cocoapods.org/pods/Firebase
But when I call pod update command from iOS terminal, I see that this pod was installed as 3.17.0.
This is what I see in iOS terminal after pod update command execution:
Downloading dependencies
Using Alamofire (4.5.0)
Using Bolts (1.8.4)
Using Crashlytics (3.8.5)
Using Digits (3.0.2)
Using FBSDKCoreKit (4.26.0)
Using FBSDKLoginKit (4.26.0)
Using FBSDKMessengerShareKit (1.3.2)
Using FBSDKShareKit (4.26.0)
Using Fabric (1.6.12)
Using Firebase (3.17.0)
Using FirebaseAnalytics (3.9.0)
Using FirebaseAuth (3.1.1)
Using FirebaseCore (3.6.0)
Using FirebaseCrash (1.1.6)
Using FirebaseDatabase (3.1.2)
Using FirebaseDynamicLinks (1.4.0)
Using FirebaseInstanceID (1.0.10)
Using FirebaseInvites (1.3.0)
Using FirebaseMessaging (1.2.3)
Using FirebaseStorage (1.1.0)
Using FirebaseUI (4.1.1)
Using GTMOAuth2 (1.1.4)
Using GTMSessionFetcher (1.1.11)
Using Google (3.1.0)
Using GoogleAPIClientForREST (1.3.0)
Using GoogleSignIn (4.0.2)
Using GoogleToolboxForMac (2.1.1)
Using IQKeyboardManagerSwift (4.0.13)
Using MBProgressHUD (1.0.0)
Using Protobuf (3.4.0)
Using SwiftyStoreKit (0.10.7)
Using TwitterCore (3.0.0)
Using TwitterKit (3.1.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 23 dependencies from the Podfile and 33 total pods installed.
This is content of my Podfile in project:
use_frameworks!
target 'PrayerDeck' do
pod 'Firebase'
pod 'Firebase/Auth'
pod 'Firebase/Crash'
pod 'FirebaseUI/Database'
pod 'Fabric'
pod 'Crashlytics'
pod 'Digits'
pod 'TwitterCore'
pod 'Firebase/Database'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'IQKeyboardManagerSwift'
pod 'Firebase/Storage'
pod 'MBProgressHUD'
pod 'Google/SignIn'
pod 'Firebase/Invites'
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'
pod 'FBSDKMessengerShareKit'
pod 'Alamofire', '~> 4.0'
pod 'TwitterKit'
pod 'SwiftyStoreKit'
end
target 'PrayerDeckTests' do
end
target 'PrayerDeckUITests' do
end
UPDATE:
When I try to update Podfile and set more specific version like this pod 'Firebase', '~> 4.0' I get next error in iOS terminal:
- `FirebaseAnalytics (= 4.0.3)` required by `Firebase/Core (4.1.1)`
- `FirebaseAnalytics (~> 3.2)` required by `Google/Core (3.0.3)`
- `GoogleSignIn (~> 3.0)` required by `Google/SignIn (2.0.4)`
- `GoogleSignIn (~> 4.0)` required by `FirebaseInvites (2.0.1)`
- `Firebase/Invites` required by `Podfile`
Your Podfile is using the deprecated 'Google/SignIn' which forces the Firebase 3.x dependencies.
Change it to
pod 'GoogleSignIn'

Firebase pod install - pod 'Firebase/Database' - Required a higher minimum deployment target

I am trying to install Firebase/Database like Firebase doc https://firebase.google.com/docs/ios/setup#available_pods but when I tried I got issue.
[!] Unable to satisfy the following requirements:
Firebase/Database required by Podfile
Specs satisfying the Firebase/Database dependency were found, but they required a higher minimum deployment target.
Required a higher minimum deployment target, how can I do this?
Thanks
Screenshot
This is how I fixed it.
Step 1
Install Regular Firebase - pod 'Firebase', '>= 2.5.1'
Step 2
Update - pod update
*At this point it will take a good couple minutes to update. You should see something like this.
Update all pods
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing Firebase 3.2.0 (was 3.2.0)
Using FirebaseAnalytics (3.2.0)
Installing FirebaseAuth (3.0.2)
Using FirebaseDatabase (3.0.1)
Using FirebaseInstanceID (1.0.6)
Using GoogleInterchangeUtilities (1.2.1)
Installing GoogleNetworkingUtilities (1.2.1)
Using GoogleSymbolUtilities (1.1.1)
Using GoogleUtilities (1.3.1)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 4 dependencies from the Podfile and 10
total pods installed.
Step 3
Now you should have Firebase 3. So you can add frameworks like such in your pod file then pod update
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'xMarket' do
end
target 'xMarketTests' do
end
target 'xMarketUITests' do
end
pod 'Firebase', '>= 2.5.1'
pod ‘Firebase/Core’
pod ‘Firebase/Database’
pod ‘Firebase/Auth’
Good luck!
In your Podfile, change the line pod 'Firebase' to pod Firebase/Core and run pod update in the project folder.
With the new Firebase, there is no need for the first line.
From the migration guide:
Reference: Firebase.google migration guide
I got it working by first running pod repo update and then running pod install again.
Follow this steps:
pod repo remove master
pod setup
pod install
I had the same problem.My error below
[!] Unable to satisfy the following requirements:
- `Firebase/AdMob` required by `Podfile`
Specs satisfying the `Firebase/AdMob` dependency were found, but they required a higher minimum deployment target.
Targets->general->deployment target
Changed to 8.0
My project deployment target starts from ios 6 Since it developed in older xcode version.For new updation in xcode 8 I made the deployment target from ios 8It works from me.
After fix its working
Installing Firebase (4.0.2)
Installing FirebaseAnalytics (4.0.1)
Installing FirebaseCore (4.0.2)
Installing FirebaseInstanceID (2.0.0)
Installing Google-Mobile-Ads-SDK (7.20.0)
Installing GoogleToolboxForMac (2.1.1)
The latest Firebase will support from ios 8.
or you can update the Podfile
platform :ios, '9.0'
run 'pod update'
that wo
In my case, I had a similar error, running from jenkins. When I deleted the offending workspace and reran, all was well.
you can try to delete Podfile.lock

Google Analytics v3 Pod with other Swift Pods

I'm developing an swift iOS app and at this "final" stage I'll add Google Analytics.
I'm following their Guide
But it failed at pod install command...
Error Log
Downloading dependencies
Using Alamofire (1.2.2)
Using Bolts (1.2.0)
Using CryptoSwift (0.0.10)
Using FBSDKCoreKit (4.2.0)
Using FBSDKLoginKit (4.2.0)
Using FBSDKShareKit (4.2.0)
Installing Google (1.0.7)
Installing GoogleAnalytics (3.13.0)
Using GoogleMaps (1.10.1)
Installing GoogleNetworkingUtilities (1.0.0)
Installing GoogleSymbolUtilities (1.0.0)
Installing GoogleUtilities (1.0.1)
Using ImageLoader (0.3.2)
Using SQLite.swift (0.1.0.pre)
Using SwiftyJSON (2.2.0)
[!] The 'Pods-<My-Project>' target has transitive dependencies that include static binaries: (<path-to-project-dir>/Pods/Google/Libraries/libGGLAnalytics.a, <path-to-project-dir>/iOS/Pods/Google/Libraries/libGGLCore.a, <path-to-project-dir>/iOS/Pods/GoogleAnalytics/Libraries/libGoogleAnalytics.a, (...)
As stated in this tutorial, "pods written in Swift must be created as dynamic frameworks" (and that's why the use_frameworks! in the Podfile).
As it seems, this new Google Analytics pod is a static binary.
I tried to change the pod the same as this answer but the pod install command warned me that (obviously) [!] GoogleAnalytics-iOS-SDK has been deprecated in favor of GoogleAnalytics. And I'm not sure it's a good idea to add an already deprecated library to a new project instead of getting the right one to work.
My project has a target dependecy to iOS 8.0+ and the podfile is:
```
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'MyProject' do
pod 'Alamofire', '~> 1.2'
pod 'SwiftyJSON', '~> 2.2.0'
pod 'GoogleMaps'
pod 'ImageLoader', '~> 0.3.0'
pod 'SQLite.swift', git: 'https://github.com/stephencelis/SQLite.swift.git'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
pod 'CryptoSwift'
pod 'GoogleAnalytics', '~> 3.13'
end
target 'MyProjectTests' do
end
```
Is anyone having the same problem or know how to solve this using the v3 GA pod?
Replace the line
pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'
in your Podfile with
pod 'GoogleAnalytics', '~> 3.13'
Clean project and run pod install again. The pod you're currently using is the one that is deprecated.

Resources