I am getting EXC_BAD_ACCESS after including 'Firebase/Auth' in Podfile. This happens without adding any line of firebase code. I am using swift3 on xcode 8 and the resultant pods are -
Installing Firebase (3.8.0)
Installing FirebaseAnalytics (3.5.1)
Installing FirebaseAuth (3.0.6)
Installing FirebaseCore (3.4.4)
Installing FirebaseInstanceID (1.0.8)
Using GTMOAuth2 (1.1.4)
Using GTMSessionFetcher (1.1.7)
Using GoogleAppUtilities (1.1.2)
Installing GoogleInterchangeUtilities (1.2.2)
Using GoogleSignIn (4.0.1)
Using GoogleSymbolUtilities (1.1.2)
Installing GoogleToolboxForMac 2.1.0 (was 2.1.0)
Using Localize-Swift (1.6)
Using ProtocolBuffers-Swift (3.0.6)
Using QorumLogs (0.9)
The error comes in Thread 1 in [UIViewController(FIRAScreenClassName) fira_viewDidAppear:]:
This happens only if the pod target is itself a framework which is embedded in an app eventually.
I do have Google analytics as well. Is it because ARC is not enabled? How do I do that on xcode-8?
Any other options to try?
There appears to be a problem in the latest Firebase/Core (3.8.0) release. Even #IBDesignable was crashing with a recursive call to the method signature you mentioned.
You have a couple of options:
In Info.plist (app), set FirebaseAutomaticScreenReportingEnabled to NO (bool). This solved the problem for my running application, but IBDesignable resources caused this error on build:
file:///path/to/project/Base.lproj/Main.storyboard: error: IB Designables: Failed to render and update auto layout status for UIViewController (svZ-78-1Mn): The agent crashed
You may want to temporarily downgrade to 3.7.1, for example,
pod 'Firebase/Core', '~> 3.7.1'
pod 'Firebase/Auth'
pod 'Firebase/Database'
The rest of the dependencies should take care of themselves when you run pod update.
I made a silly mistake. Never turned on Google under Authentication -> Sign in methods on Firebase
I am suspecting that the Podfile is not correct. I got into similar problem by adding Firebase dependency into a framework and I ran into the problem like this
objc[12345]: Class FIRAAppEnvironmentUtil is implemented in both
/Users/...Build/Products/Debug-iphonesimulator/SomeFramework.framework/SomeFramework
(0x105ef7fc8) and /Users/.../CurrentProject.app/CurrentProject
(0x105945108). One of the two will be used. Which one is undefined.
As mentioned in this post, you might have duplicate dependencies in different targets which could lead to weird bug like this. Adding Firebase pod into the main target and removing the Firebase pod from the framework fixed the problem for me.
Related
I have updated Firestore to follows. Now, I can't use it anymore. I removed, reinstalled several times. But there is no change. I am losing my mind. The issue is:
"Use of unresolved identifier 'SetOptions'".
db.collection("").document("").setData([ "p1answered":false, "p1OutofTime": false ], options: SetOptions.merge())
Bolts (1.9.0)
Using BoringSSL (10.0.2)
Using FBSDKCoreKit (4.33.0)
Using FBSDKLoginKit (4.33.0)
Using Firebase (5.0.1)
Using FirebaseAnalytics (5.0.0)
Using FirebaseAuth (5.0.0)
Using FirebaseCore (5.0.1)
Using FirebaseFirestore (0.12.1)
Using FirebaseInstanceID (3.0.0)
Using FirebaseUI (5.0.0)
Using GTMOAuth2 (1.1.6)
Using GTMSessionFetcher (1.1.15)
Using Google-Mobile-Ads-SDK (7.31.0)
Using GoogleSignIn (4.1.2)
Using GoogleToolboxForMac (2.1.4)
Using Protobuf (3.5.0)
Using SwiftySound (1.0.0)
Using TwitterCore (3.1.0)
Using TwitterKit (3.3.0)
Using gRPC (1.12.0)
Using gRPC-Core (1.12.0)
Using gRPC-ProtoRPC (1.12.0)
Using gRPC-RxLibrary (1.12.0)
Using leveldb-library (1.20)
Using nanopb (0.3.8)
//Pod File
Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'Tahmin Et' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for My App
pod 'SwiftySound'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Facebook'
pod 'Google-Mobile-Ads-SDK'
pod 'FirebaseUI/Twitter'
pod 'FirebaseCore'
pod 'FirebaseAuth'
pod 'FirebaseFirestore'
end
Your code is okay, you just need to import FirebaseFirestore in your class.
Edit: After discussion
pod 'FirebaseFirestore' is also not correct. It should be pod 'Firebase/Firestore'. Have a look at Firebase getting started guide choose iOS tab under Set up your development environment.
Edit: 2
In latest documentation it is like:
db.collection("cities").document("BJ").setData([ "capital": true ], merge: true)
I am trying to create a firebase dynamic link, but I get error use of unresolved identifier FIRDynamicLinkComponents. The frameworks I import in this viewcontroller are: Firebase and UIKit.
FIRbaseDynamicLinks.framework screenshot attached below.
What have I tried I tried?
pod repo remove master
pod setup
pod install
Pod version: 1.5.2
Xcode Version 8.3.3
Swift 3
Terminal log when I run pod install
Analyzing dependencies
Downloading dependencies
Using Firebase (3.9.0)
Using FirebaseAnalytics (3.5.1)
Using FirebaseAuth (3.0.6)
Using FirebaseCore (3.4.4)
Using FirebaseDatabase (3.1.0)
Using FirebaseDynamicLinks (1.3.1)
Using FirebaseInstanceID (1.0.9)
Using FirebaseStorage (1.0.4)
Using FrameAccessor (1.3.2)
Using GTMSessionFetcher (1.1.15)
Using GoogleInterchangeUtilities (1.2.2)
Using GoogleSymbolUtilities (1.1.2)
Using GoogleToolboxForMac (2.1.4)
Generating Pods project
Integrating client project
Sending stats
In Swift, the names are slightly different! To be more Swift-y, we alias the names for Swift without the "FIR" prefix. So FIRDynamicLinkComponents becomes DynamicLinkComponents. This can be a bit confusing at time, though hopefully more readable overall!
To make life a little easier, we've now split our reference docs into Swift and Objective-C versions, and generally have Swift and Objective-C tabs for all snippets in our guides.
Import that pod file in Bridge header file of your project.
I've just included the Google Analytics Pod as described in their iOS developer guide with:
pod 'Google/Analytics'
When running
pod install
it installs the following dependencies:
Installing FirebaseAnalytics (3.2.0)
Installing FirebaseInstanceID (1.0.6)
Installing Google (3.0.3)
Installing GoogleAnalytics (3.14.0)
Installing GoogleInterchangeUtilities (1.2.1)
Installing GoogleSymbolUtilities (1.1.1)
Installing GoogleUtilities (1.3.1)
Since I don't use Firebase, I would like to get rid of the FirebaseAnalytics and FirebaseInstanceID (as well as all pods that are not needed by the framework itself).
Installing unused dependencies only bloats up my app size. I would like to only install the absolute minimum amount of pods to get GoogleAnalytics running.
Any ideas on how to kick the unused Pods out?
As seen in this answer, you can use:
pod 'GoogleAnalytics'
…to avoid installing the dependencies. Note that you'll need to change your Objective-C imports in your bridging header file; I needed at least:
#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIFields.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
In Pod it is showing like this.
libGTM_NSData+zlib_external.a
While in Build settings, it looks as below
$(PODS_ROOT)/GoogleUtilities/Libraries/libGTM_NSData+zlib.a
In config, it shows as this.
-force_load $(PODS_ROOT)/GoogleUtilities/Libraries/libGTM_NSData+zlib_external.a
How can I remove error of not finding libGTM_NSData+zlib.a as I know new google library has libGTM_NSData+zlib_external.a only.
I am using
pod 'Google/Analytics'
pod 'Google/SignIn'
in my Pod file.
Kindly give proper structure of removing such issue. I tried to rename and keeping all of same name as _external, it didn't solve the problem.
Final installation of Pods via Terminal shows Log as below
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.6.3)
Installing AMScrollingNavbar (1.5.1)
Installing Bolts (1.7.0)
Installing ChartboostSDK (6.4.0)
Installing Charts (2.2.4)
Installing Crashlytics (3.7.0)
Installing Fabric (1.6.7)
Installing Google (2.0.3)
Installing Google-Mobile-Ads-SDK (7.7.1)
Installing GoogleAnalytics (3.14.0)
Installing GoogleAppUtilities (1.1.0)
Installing GoogleAuthUtilities (2.0.0)
Installing GoogleInterchangeUtilities (1.2.0)
Installing GoogleNetworkingUtilities (1.2.0)
Installing GoogleSignIn (3.0.0)
Installing GoogleSymbolUtilities (1.1.0)
Installing GoogleUtilities (1.2.0)
Installing MMDrawerController (0.5.7)
Installing Optimizely-iOS-SDK (1.4.2)
Installing Parse (1.13.0)
Installing SDWebImage (3.7.5)
Installing Shapes (1.0.2)
Installing SocketRocket (0.3.1-beta2)
Installing libPusher (1.5)
Installing pop (1.0.9)
Generating Pods project
Integrating client project
Thanks.
I had the same issue today, removing the pod cache and reinstalling from scratch did the trick for me.
close Xcode, delete pod files, then
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/"
pod install
Open Build Settings
Go to Framework Search Paths
Leave only these two as shown in image, and remove all others, like libGTM_NSData+zlib.a or any other.
This inherited & Project Directory will cause automatically detection from Pods, and it will not more create problem for you.
pod 'Google/Analytics', '~> 2.0'
Fixed this for Google Analytics
I'm not an iOS dev but I'm in charge of compiling a new build of an iOS app but when I'm launching the command pod install. Pod generates an error like that.
[!] Unable to satisfy the following requirements:
XMLDictionary (= 1.4.0) required by Podfile.lock
XMLDictionary (~> 1.4.0) required by AWSCore (2.1.2)
I try to edit directly the Podfile.lock by changing XMLDictionnary version by (~> 1.4.0) but, obviously it does not work. Can someone help me to solve that dependency errors ?
Many thanks in advance.
[EDIT] As recommanded in comments. I already done the pod update command.
But it return me the following error.
[!] Unable to satisfy the following requirements:
XMLDictionary (~> 1.4.0) required by AWSCore (2.1.2)