Comments (15)
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.
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.
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.
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.
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.
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.
Did you try my test steps above?
from cordova-plugin-firebasex.
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.
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.
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.
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.
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.
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.
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.
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)
- firebasex 16.4.0 caused kotlin version error HOT 1
- com.google.android.recaptcha:recaptcha:18.1.2 security warning HOT 8
- Add rowNonce on signIn w/ Apple response
- Cannot read properties of null (reading '1') HOT 5
- I can't Build my app in Xcode on Apple Silicon
- authenticateUserWithMicrosoft problem due to custom parameter prompt=consent
- setConsent method implementation HOT 2
- Crash in "handleExceptionWithContext" method (rare occurrence)
- Inquiry About Addition of Google Analytics Consent Options for Ad Personalization and User Data HOT 3
- Ionic app not building if I have corodova firbasex installed, if I remove the plugin app will successfully install. HOT 4
- iOS custom or any notification sounds not working - no sounds at all. HOT 1
- Update iOS Firebase SDK component version to v10.23.0, fixes crash on startup HOT 7
- C:\Users\PC\MyApp>cordova run android Checking Java JDK and Android SDK versions ANDROID_HOME=undefined (recommended setting) ANDROID_SDK_ROOT=undefined (DEPRECATED) Using Android SDK: C:\Users\PC\AppData\Local\Android\sdk Subproject Path: CordovaLib Subproject Path: app TypeError [ERR_INVALID_ARG_TYPE]: The "code" argument must be of type number. Received type string ('ENOENT') at process.set [as exitCode] (node:internal/bootstrap/node:123:9) at C:\Users\PC\AppData\Roaming\npm\node_modules\cordova\bin\cordova:32:22 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) HOT 1
- IOS ITMS-91053 errors HOT 7
- why FirebasePlugin.authenticateUserWithGoogle() returns the idToken can pass Firebase verify ? only can pass Google verify HOT 1
- Notification not received with android 12
- Android13 - Start App without logo on tap to background messaging
- Build fail on Cordova-ios 7.1.0 - Xcode 1.15.2 HOT 5
- FirebasePlugin._onAuthIdTokenChange() fires before device ready, FirebasePlugin undefined HOT 12
- Firebase config setup in Ionic App HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cordova-plugin-firebasex.