How to temporarily lock to FirebaseInstanceID 2.0.0 - ios

I have been facing issues in sending push notification to IOS clients who are running in IOS 11, on surfing the internet found that temporarily lock to FirebaseInstanceID 2.0.0 in the pod file.But if i do that i am getting the error message as follows,
**Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "FirebaseInstanceID":
In snapshot (Podfile.lock):
FirebaseInstanceID (= 2.0.10)
In Podfile:
FirebaseInstanceID (= 2.0.0)
Specs satisfying the `FirebaseInstanceID (= 2.0.0), FirebaseInstanceID (= 2.0.10)` dependency were found, but they required a higher minimum deployment target.
[!] Automatically assigning platform `ios` with version `10.2` on target `PushNotificationDemo` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.**
FCM Push notifications do not work on iOS 11
Is there any other way of enabling push notifications in IOS 11.Thanks in advance
My Pod file as below,
Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'PushNotificationDemo' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for PushNotificationDemo
pod 'Firebase/Core'
pod 'Firebase/Messaging'
#pod 'FirebaseInstanceID', '2.0.0'
target 'PushNotificationDemoTests' do
inherit! :search_paths
# Pods for testing
end
target 'PushNotificationDemoUITests' do
inherit! :search_paths
# Pods for testing
end
end

Related

CocoaPods could not find compatible versions for pod FirebaseCore In snapshot (Podfile.lock):

I am getting below error for command pod install, not resolved by this
[!] CocoaPods could not find compatible versions for pod "FirebaseCore":
In snapshot (Podfile.lock):
FirebaseCore (= 3.6.0, ~> 3.6)
In Podfile:
Firebase/Crashlytics was resolved to 6.15.0, which depends on
FirebaseCrashlytics (~> 4.0.0-beta.1) was resolved to 4.0.0-beta.1, which depends on
FirebaseCore (>= 6.3.2, ~> 6.3)
Google/Analytics was resolved to 3.1.0, which depends on
Google/Core (= 3.1.0) was resolved to 3.1.0, which depends on
FirebaseAnalytics (~> 3.2) was resolved to 3.9.0, which depends on
FirebaseCore (~> 3.6)
Here is my Podfile,
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
target 'MyProject' do
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'FBSDKCoreKit', '~>5.15.1'
pod 'FBSDKShareKit', '~>5.15.1'
pod 'FBSDKLoginKit', '~>5.15.1'
pod 'Google/Analytics'
pod 'GoogleMaps'
pod 'CocoaLumberjack'
pod 'Firebase/Crashlytics'
pod 'Firebase/Analytics'
target 'MyProjectTests' do
inherit! :search_paths
end
target 'MyProjectUITests' do
inherit! :search_paths
end
end
How can I resolve this issue?
You can understand why CocoaPods chooses which dependencies by examining the generated Podfile.lock file.
I suspect the issue is related to using the deprecated Google pod. Likely, you should use GoogleAnalytics without the slash instead.

Specs satisfying the `Firebase/Functions` dependency were found, but they required a higher minimum deployment target

I was trying to install pod 'Firebase/Functions' but failed with the following error:
`[!] CocoaPods could not find compatible versions for pod "Firebase/Functions":
In Podfile:
Firebase/Functions
Specs satisfying the Firebase/Functions dependency were found, but they required a higher minimum deployment target.`
Here is my pod file
# Uncomment the next line to define a global platform for your project
# platform :ios, '11.0'
target 'MyApp' do
# Comment the next line if you're not using Swift and don't want to
use dynamic frameworks
use_frameworks!
# Pods for MyApp
pod 'Firebase/Core'
pod 'Firebase/Firestore'
pod 'Firebase/Database'
pod 'Firebase/Auth'
pod 'Firebase/Messaging' ,'~> 4.6.0'
pod 'Firebase/Storage'
pod 'Firebase/Functions'
pod 'GoogleMaps'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Phone'
pod 'ImageSlideshow', '~> 1.6'
pod 'DZNEmptyDataSet'
pod 'SDWebImage'
pod 'SDWebImage/WebP'
target 'MyAppTests' do
inherit! :search_paths
# Pods for testing
end
target 'MyAppUITests' do
inherit! :search_paths
# Pods for testing
end
end
I have searched for some resources and let me do 3 steps:
pod repo update
pod update
pod install
I have done with those 3 steps with still not work.
If this solution didn't work for you (It didn't work for me haha), I found another option - here is the initial error I got:
[!] CocoaPods could not find compatible versions for pod "Firebase/Firestore":
In snapshot (Podfile.lock):
Firebase/Firestore (= 6.34.0, ~> 6.0)
In Podfile:
Firebase/Firestore
cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) was resolved to 1.0.6, which depends on
Firebase/Firestore (= 7.3.0)
Specs satisfying the `Firebase/Firestore, Firebase/Firestore (= 6.34.0, ~> 6.0), Firebase/Firestore (= 7.3.0)` dependency were found, but they required a higher minimum deployment target.
My Solution was to switch my ios/Podile's first line to platform :ios, '10.0' and run:
pod update
pod install
Pod Update updates Cocoa Pods, and for me it also installed the packages
Date: 4/21/21
Remove the '~> 4.6.0'.
FirebaseFunctions was introduced after Firebase 4.6.0 and is thus incompatible with the version restriction pod 'Firebase/Messaging' ,'~> 4.6.0'.
You need to increase your deployment target. Go to Project Navigator (Cmd + 1), select the your app's target and increase the iOS Deployment Target to the minimum required by Firebase (iOS >= 8). Finally, rerun pod install:
pod install
change pod 'Firebase/Messaging' ,'~> 4.6.0' to pod 'Firebase/Messaging'
And run pod install
I simply hat to run pod update in the ios folder of my flutter project
As mentioned in the error you need to require a higher minimum deployment target.
Go to your Podfile and uncomment
#platform :ios, '9.0'
Then change the version to 10
platform :ios, '10.0'
Run the build again. Answer was taken from here
As #Brady mentioned you need to update your podfile #platform line.
Mine also has this post install function at the bottom that needs to be updated as well, and seems to override even the target deployment set in Xcode.
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end

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'

Adding Cocoapods To Multiple Targets

I'm needing to add Alamofire to my main iOS app and the iOS Today Extention. With Alamofire just being in my iOS app target, it works great! But now, I'm trying to add Alamofire to my today extention. This is my Podfile
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'The Main iOS App' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Canvas'
pod 'Firebase/Core’
pod 'Firebase/Messaging’
pod 'Alamofire', '~> 4.4'
# Pods for The Main iOS App
end
target 'Today' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Alamofire', '~> 4.4'
# Pods for Today
end
Whenever using pod install in terminal, I get this:
Analyzing dependencies
Downloading dependencies
Using Alamofire (4.5.0)
Using Canvas (0.1.2)
Using Firebase (4.0.3)
Using FirebaseAnalytics (4.0.2)
Using FirebaseCore (4.0.3)
Using FirebaseInstanceID (2.0.0)
Using FirebaseMessaging (2.0.0)
Using GoogleToolboxForMac (2.1.1)
Using Protobuf (3.3.0)
[!] The 'Pods-iFunnyVlogger' target has frameworks with conflicting names: alamofire.
How do I properly do this?
UPDATE - Still Not Working
Some information that you may need is that I'm on cocoapods version 1.2.0 and I've tried pod update, but I'm still getting that error
[!] The 'Pods-iFunnyVlogger' target has frameworks with conflicting
names: alamofire.
Try this
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
def other_pods
pod 'Canvas'
pod 'Firebase/Core’
pod 'Firebase/Messaging’
end
def shared_pods
pod 'Alamofire', '~> 4.4'
end
target 'The Main iOS App' do
shared_pods
other_pods
end
target 'Today' do
shared_pods
end

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

Resources