quickstart-unity: Firebase 6.15.1 - xCode Error - Undefined symbols for architecture arm64
Please fill in the following fields:
Unity editor version: 2019.3.13f1 Firebase Unity SDK version: 6.15.1 Source you installed the SDK: Package Manager Firebase plugins in use: Every Single One! Additional SDKs you are using: Facebook, Google Sign In, Apple Sign In Platform you are using the Unity editor on: Mac Platform you are targeting: iOS and Android Scripting Runtime: IL2CPP
Please describe the issue here:
xCode Build Error with latest Firebase Unity SDK:
Undefined symbols for architecture arm64:
"firebase::firestore::api::Firestore::Dispose()", referenced from:
firebase::firestore::FirestoreInternal::~FirestoreInternal() in libFirebaseCppFirestore.a(firestore_ios_eec52dfa6e1434eb3ea69ba309362c0c.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
All I did was update Firebase in Package Manager to 6.15.1, and try to run an xCode build. Received this error.
Please answer the following, if applicable:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)? Haven’t tried.
What’s the issue repro rate? (eg 100%, 1/5 etc) 100%
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 21 (6 by maintainers)
Hi,
We have a fix for this and the updated SDK will be released as soon as possible. Thanks for your patience!
Jon
Okay, I found the solution. This should probably be updated or hotfixed, since xCode 100% doesn’t work in 6.15.1.
The ios dependencies are using an outdated ios sdk version that doesn’t contain a method being called by Firebase.
The solution is to go into all your “dependency.xml” files and change the dependency version from “6.24.0” to “6.27.0”.
If editing (for example) Packages/Cloud Firestore for Firebase/Firebase/Editor/FirestoreDependencies.xml doesn’t work for you, you can update dependencies version after the Xcode project is created.
Open the Podfile inside your Xcode project folder, and you should see all of your dependencies listed here. The file can look like this:
Just change the
6.24.0
to6.27.0
for every Firebase related pod.Next, run the
pod update
command from the Terminal, and it should work.Hi everyone, the release with the fix for this is out now.
@Thaina Sorry about not being able to provide a timeline, I know this has been a frustration of yours for a while. It’s frustrating for me too because it legitimately stresses me out to know that people are waiting on a release and I can’t really predict how long it will take to put together. To give some insight into this, the process can take a while for a number of reasons: Once a fix is identified, tested, and checked in internally (which can take a hard to predict amount of time), the process of putting together a release build is very time consuming. Because we support a dozen libraries across several versions of Unity that need to build on at least 5 different platforms we have a large matrix of unit and integration tests that need to run. Most of these are completely automated at this point, though not all of them can be due to the limitations on some platforms.
Once tests have passed there are additional steps to get everything packaged and uploaded, and these packaging steps take a nontrivial amount of time too. If there are problems found in the build for whatever reason a lot of this process has to be re-run, and if the issue is discovered too late in the evening that can easily push the release the next day. And as you can see by this bug here, there are some gaps in our suite of tests that we are working to fill so that we don’t repeat these mistakes. All this to say - this process is frustrating to us too. One of our top priorities right now is to clean this process up so that builds can be done much more rapidly with much less manual intervention. We want to be able to hit a single button and reliably produce a working build. We aren’t there yet, but we are actively putting a lot of resources to getting to that point.
I’m sorry again for the frustration this has caused and I just wanted to make it clear we’re aware of how painful this is for everyone involved and are taking steps to address it. My hope is that going forward releases will be much less stressful and iteration times much lower.
@stewartmiles @chkuang-g @a-maurice Hi Google Team. Looks like the last release of Firebase Firestore(6.15.1) has a critical bug. Are you planning to fix it anytime soon? Thanks.
If you are talking about Unity Package Manager, that is what I’m using, and the same fix applies. You just have to look in your Library/PackageCaches, and change the dependency version before you build.
Its not ideal, we need a hotfix for this.
Not that I know of, I’ve been doing it manually every time for now. Annoying!