Giter Site home page Giter Site logo

Comments (15)

dpa99c avatar dpa99c commented on August 16, 2024

With this update, the user isn't logged in anymore.

Is this because TestFlight forces you to re-install the app? (changes to this plugin cannot be the cause of that).

Or because you are now able to update the existing app but the new version of the Firebase SDK is not preserving the data from the previous installed version?

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

Is this because TestFlight forces you to re-install the app? (changes to this plugin cannot be the cause of that).
Or because you are now able to update the existing app but the new version of the Firebase SDK is not preserving the data from the previous installed version?

I simply don't know if this plugin could be the cause of it. I simply don't know what could be the cause of this mess in general and how to find the cause. 🤷🏼‍♂️

You're really sure that the changes to this plugin can not be the cause of it? Do you have any idea, what could be cause that TestFlight isn't serving the newest beta version as update? How can this happen? I thought it had something to do with the changes I made. For me it seems to be reasonable that some of the updated libs is causing this issue. But as I already proved, I have no clue...

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

Unlike Android (where APK is bytecode that can be inspected at upload by the Play Store), iOS apps are compiled C binaries which means there's no way that App Store Connect can inspect the contents to see what libs have changed/are present.

The most likely explanation for this is related to signing of the app.

I only experienced a situation like this once before when distributing iOS apps outside of the App Store via Enterprise distribution. In that case, the new version of the app had been signed with a different certificate than the installed one, so it was not possible to update.

Are you sure that you didn't have a development version installed on your device when trying to update it via TestFlight?

I suggest carrying out this test:

  • Delete existing app off device
  • Install live version via App Store
  • Run and sign in with Firebase
  • Try to update via TestFlight

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

The most likely explanation for this is related to signing of the app.
I only experienced a situation like this once before when distributing iOS apps outside of the App Store via Enterprise distribution. In that case, the new version of the app had been signed with a different certificate than the installed one, so it was not possible to update.

😱

The provisioning profiles are only valid for one year, as far as I know. So I replaced the signing certificates as well. 🤦‍♂️

Under this circumstances does that mean when somebody creates new signing certificates for his iOS Firebase app with anonymous user, that all the user data is lost with a new version of the app? I can't believe that! 🤬

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

Your signing certificates are only used for validation by the App Store - when Apple publishes an iOS app in the App Store it resigns with their own distribution certificate.

That means even if your uploaded app is signed with a different certificate (because the old one expired), it won't matter because Apple will resign it when publishing to the App Store anyway.

I presume the same resigning must take place for TestFlight builds otherwise you wouldn't be able to update an app installed from the App Store (signed with Apple distribution cert) with one from TestFlight unless it was signed with the same cert.

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

That's something I would assume as well, but then I don't get the point why my app isn't updatable via TestFlight (only install and replace the current installation and the anonymous user that is currently signed in). 🤔

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

Did you try my test steps above?

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

Yup, that were my exact steps. I removed the installed app. Did a fresh install and opened the app. Completed my "Welcome Wizard" and created some user content. Closed app, re-opened it. Everything was still in place, as expected. Started TestFlight and it's only showing "install" instead of "update". When I tap "install" TestFlight even warns me, that this will replace my existing installation and data could be lost! When I install it, all that is true. I will start again with the "Welcome Wizard" (which usually only appears on first start of the app) and my content is gone. 😢

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

Sounds like the issue is with App Store Connect/TestFlight - you should be able to update.

Try these things (in order):

  • Uninstall/reinstall TestFlight app
  • In App Store Connect, open your app page
    • Select TestFlight tab
    • Select Builds > iOS
    • Select your build
    • Click "Expire build" button (top-right)
    • Build and upload a new build to App Store Connect

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

All done, except the new build is just uploading...

Just one question, do you have any experience with platforms like bitrise.io? I wonder if such kind of service would help me avoid such issues in the future...

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

I haven't encountered bitrise.io before but it seems like a new cloud build service.

I have had experience with others in the past: Phonegap Build and Telerik AppBuilder and I ended moving away from both back to a local build environment because they didn't give enough fine-grain control over the build.

My recommendation would be to stick with a local build environment if you are comfortable operating it. Remote cloud build services are OK if you lack the skills to setup your own local build environment but they come at the cost of flexibility and fine-grain control over your build process, not to mention debugging.

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

Thanks for your advice! I backed away from such kind of services the last couple of years as well. But this experience really let me re-think about all that stuff... At least bitrise.io is offering the ability to debug your project locally with the same settings (with there open sourced cli tools): https://discuss.bitrise.io/t/how-to-debug-your-build-locally-it-works-on-my-mac-pc-but-not-on-bitrise-io/392

But I'm still not sold. Just hoped you had some good experience with it, because you quickly became someone I trust about such type of questions.

Btw, after removing my latest build from TestFlight, I figured out that my last beta (uploaded about 3 or 4 weeks ago) already served the initial issue of this topic. It's not updatable on the version I've installed from the App Store. So, even if you wouldn't have explained why your modifications could not be the reason, it would be clear that this issue has nothing todo with what you did.

Good for you, but bad for me. Do you have any idea on how to fix this? If I would publish a new version, about 25.000 users of mine would lose their data. That's not acceptable, but not publishing any more updates to the app isn't acceptable as well. :-(

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

I'm out of ideas when it comes to this TestFlight update issue.
I would suggest that if searching Google and Stackoverflow comes up with nothing, you contact Apple tech support. After all, we pay our $99/year Apple Membership fee so should be able to get some tech support included with that! I'm pretty sure there's a way to ask this kind of question via App Store Connect...

from cordova-plugin-firebasex.

dpa99c avatar dpa99c commented on August 16, 2024

I've just set a task for one of our junior devs to investigate bitrise.io and report back on whether they think it's any good. I'll let you know the result 😉

from cordova-plugin-firebasex.

svzi avatar svzi commented on August 16, 2024

You're completely right about the Apple support. I've already had a call in the meanwhile. The person on the phone couldn't help me, but he will send me an email where I can reply with some further informations and screenshots, so he can forward it to someone with more knowledge in this topic.

Appreciate that you put on of your juniors devs on the bitrise investigation! Can't await to hear back about that topic. 👍

from cordova-plugin-firebasex.

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.