I updated FirebaseUI to the newest version, and that updated TwitterCore 3.0.0 (was 2.8.0), ever since I get this compiler error in Xcode:
Undefined symbols for architecture x86_64:
"_TWTRIdentifierForAdvertising", referenced from:
+[TWTRCardConfiguration deviceID] in TwitterKit(TWTRCardConfiguration.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I currently reverted back to the previous version of TwitterCore even though it wasn't explicitly written in my Podfile. I wrote pod 'TwitterCore', '~>2.8.0'
I have solved it by using:
So as you can see, I have commented
FirebaseUI
and usedFirebaseUI/Database
for database andFirebase/Storage
for storage.If you use it pod in testing. You must add pod in MyAppTests target.
for example:
If you are still struggling with this error then here you go my solution. I noticed that some of above solutions don't fix the problem with Twitter package as they just remove reference to it which is not a correct approach for those people who want to deal with Twitter feature.
At the moment,
FirebaseUI
version is4.1.1
andTwitterKit
>=2.4
satisfies its requirements but according to my test the latest 2.* version (which is now 2.8.1) generate error with undefined symbol reference.I checked out that
FirebaseUI
4.1.1 works just fine with earlierTwitterKit
2.7. So my solution is to just force te cocoapod to install this version.Follow along the procedure:
1) Add these two instances to your Podfile. (you can add selectively the subspecs of FirebaseUI if you don't want to install them all).
2) Run:
I have fixed TwitterCore >3.0.0 is problem for FirebaseUI > 3.0.0 or update pod
Good luck
This would be an example of how to define the podfile version.
Exemple:
target 'Your_project' do
end
In Xcode 9, Swift 3, Firebase
-> _TWTRIdentifierForAdvertising", referenced
Thats help me:
first add in your Podfile: pod 'FirebaseUI', '~> 4.0'
after: pod update