GithubHelp home page GithubHelp logo

Comments (12)

a-maurice avatar a-maurice commented on September 26, 2024 5

Hey all,

So the issue is that the Firestore Unity SDK depends on a specific version of the Firestore iOS SDK, and it is incorrectly pulling in the wrong version of FirebaseFirestoreInternal (which contains an update to gRPC/absl, which is why it is getting undefined symbols in those libraries).

So, for a workaround what you can do is either:
In the Podfile generated by Unity, add the line:
pod 'FirebaseFirestoreInternal', '10.22.0'
alongside the other pods that are listed.

Or, in the Unity project, if you imported via the unityPackage, you should have a file at Assets/Firebase/Editor/FirestoreDependencies.xml
In that file add the following line below the Firebase/Firestore one:
<iosPod name="FirebaseFirestoreInternal" version="10.22.0" minTargetSdk="8.0"></iosPod>
That should result in the Podfile generating the same line mentioned in the first workaround.

Finally, if you imported the library via a package manager such that it is under Packages, what you can do is create the FirestoreDependencies.xml file mentioned above yourself, and just set that line above as the only pod. That should then get included in the set of Dependencies.xml files, and get added to the generated Podfile.

from firebase-unity-sdk.

a-maurice avatar a-maurice commented on September 26, 2024 4

Alright, we have a new release out that should help address this: https://github.com/firebase/firebase-unity-sdk/releases/tag/v11.8.1

Note that this release is assuming that it be pulling in:
Firebase/Firestore @ 10.22.0
FirebaseFirestoreInternal @ 10.23.0

So if you had done the workaround of pinning the FirebaseFirestoreInternal version, you will want to undo that when using this release. The next minor version, which should be 11.9.0, will keep those two versions in sync with each other, but that relies on some changes in the cocoapods that will take a while, so this hotfix should help in the meantime. I will close this issue, since either the workaround or hotfix should work for everyone affected. Thanks for bringing this to our attention, and for the folks that provided the Podfile.lock, as that was very helpful.

from firebase-unity-sdk.

a-maurice avatar a-maurice commented on September 26, 2024 1

Hi all,

We are investigating this, trying to figure out why this error arose on builds that were seemingly fine before, and seeing if there are any solutions / workarounds available.

from firebase-unity-sdk.

providence94 avatar providence94 commented on September 26, 2024

#916 (comment)

#916 (comment)

linking similar issues faced by others here

from firebase-unity-sdk.

shniqq avatar shniqq commented on September 26, 2024

FYI: Faced the same issue, found a fix for our case, see #975 (didnt see this post when starting to write that one)

from firebase-unity-sdk.

tom-andersen avatar tom-andersen commented on September 26, 2024

Thank you for the report. I will look into this as soon as possible.

from firebase-unity-sdk.

ramibadran avatar ramibadran commented on September 26, 2024

Hi

we are facing the same issue as below:

We received an email from Apple requesting builds using the iOS 17 SDK or later (due date mid-April), so we proceeded accordingly. However, after upgrading to MacOS Sonoma 14.4 and Xcode 15.3, we encountered several crashes on devices running iOS 17.3 and 17.4.

To address this issue, we upgraded to Firebase SDK version 11.8.0, previously we were using version 11.6.0. Initially, this resolved the issue, and we were able to successfully build for a couple of days.

However, today, when attempting to create another build, we encountered the attached errors and are unable to proceed further with the build process. We attempted to downgrade to version 11.7.0, but encountered the same error with that version as well.

would you please give advice or help in getting out of this?

Screenshot 2024-03-27 at 1 42 25 AM

from firebase-unity-sdk.

providence94 avatar providence94 commented on September 26, 2024

@shniqq
hey !
your fix worked for me
I just had to do a verbose and manual pod install to see which pods were being installed , find the mismatched pod versions of firebase
and then Modify the script you provided with the correct libraries and force the version.

I have also added a pod script in the below code which signs the relevant files in the pod file which needs selection of development team and signing as now there are many files that needs individual selection of team and signing

@ramibadran - maybe these will work you

`List _firebaseDependencies = new()
{
"FirebaseABTesting",
"FirebaseAppCheckInterop",
"FirebaseAuthInterop",
"FirebaseCoreExtension",
"FirebaseCoreInternal",
"FirebaseFirestoreInternal",
"FirebaseMessagingInterop",
"FirebaseInstallations",
"FirebaseSharedSwift",
};
var podfileContent = File.ReadAllLines(buildPath + "/Podfile").ToList();
var indexOfEndOfDependencies = podfileContent.FindIndex(line => line.Contains("end"));

    const string dependencyVersion = "'10.22.0'";

    foreach (var firebaseDependency in _firebaseDependencies)
    {
        podfileContent.Insert(indexOfEndOfDependencies,
            $"  pod '{firebaseDependency}', {dependencyVersion}");
    }

    var podfileContentCombined = podfileContent
        .Aggregate(string.Empty, (a, b) => a + b + Environment.NewLine);
    File.WriteAllText(buildPath + "/Podfile", podfileContentCombined);
    using (StreamWriter sw = File.AppendText( buildPath + "/Podfile" ))
    {
        sw.WriteLine("post_install do |installer|");
        sw.WriteLine("installer.pods_project.targets.each do |target|");
        sw.WriteLine("target_is_resource_bundle = target.respond_to?(:product_type) && target.product_type == 'com.apple.product-type.bundle'");
        sw.WriteLine("target.build_configurations.each do |config|");
        sw.WriteLine("if target_is_resource_bundle");
        sw.WriteLine($"config.build_settings[\"DEVELOPMENT_TEAM\"] = \"{PlayerSettings.iOS.appleDeveloperTeamID}\"");
        sw.WriteLine("end\nend\nend");
        sw.WriteLine("end");
    }`

from firebase-unity-sdk.

ramibadran avatar ramibadran commented on September 26, 2024

@shniqq Hi

I tried this solution. Didn't help. I tried making all to 10.22.0, and also making all to 10.23.0. But same error in both cases
also tried with deleting Podfile.lock file and again making pod install
same error and nothing works

attached our Podfile.lock
Podfile.txt

cc @palashSpoilz

from firebase-unity-sdk.

ramibadran avatar ramibadran commented on September 26, 2024

HI @a-maurice

yes your solution working fine,we have applied it and all is well.
Thank you very much

from firebase-unity-sdk.

mianumar avatar mianumar commented on September 26, 2024

Hey all,

So the issue is that the Firestore Unity SDK depends on a specific version of the Firestore iOS SDK, and it is incorrectly pulling in the wrong version of FirebaseFirestoreInternal (which contains an update to gRPC/absl, which is why it is getting undefined symbols in those libraries).

So, for a workaround what you can do is either: In the Podfile generated by Unity, add the line: pod 'FirebaseFirestoreInternal', '10.22.0' alongside the other pods that are listed.

Or, in the Unity project, if you imported via the unityPackage, you should have a file at Assets/Firebase/Editor/FirestoreDependencies.xml In that file add the following line below the Firebase/Firestore one: <iosPod name="FirebaseFirestoreInternal" version="10.22.0" minTargetSdk="8.0"></iosPod> That should result in the Podfile generating the same line mentioned in the first workaround.

Finally, if you imported the library via a package manager such that it is under Packages, what you can do is create the FirestoreDependencies.xml file mentioned above yourself, and just set that line above as the only pod. That should then get included in the set of Dependencies.xml files, and get added to the generated Podfile.

Thanks a lot. It actually Solved my issue.

from firebase-unity-sdk.

Cabskee avatar Cabskee commented on September 26, 2024

I tried the FirestoreDependencies.xml workaround and unfortunately it did not fix, I am still getting the undefined issues.

from firebase-unity-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.