Flutter MacOS app constantly requests firebase_auth keychain dialog depending on which release created the keychain - flutter

As the title suggests, when I first submitted my app to testflight I noticed the dialog below. I found this issue on the firebase ios sdk repo. It should have been fixed. What I've done:
Updated to the latest firebase flutter libs. Specifically 4.1.5 firebase auth.
Enabled keychain sharing as described by the fix. I confirmed in the archive that the "keychain-access-groups" entitlement is present.
My observations.
When the firebase_auth keychain is not present, I can build the app in debug locally and it works fine.
With the keychain item now present, if I open a testflight build the dialog will always pop up until "Always Allow" is selected.
If I log out and log back in with the testflight build the keychain dialog no longer pops up for the testflight build. But now pops up for my debug builds.
If I update the app through testflight the keychain dialog comes back.
Any ideas how to avoid making the keychain dialog popup on testflight updates? I have not attempted to release the app because I don't want this happening in production.

Related

Android Device Verification not working in Flutter

I am trying to do get OTP without Verifying you are not a robot screen using firebase in a flutter.
I added the SHA-256 key in firebase and enabled the Android Device Verification in console developer google. But still after entering the phone number for OTP that Verifying you are not a robot screen was showing and redirecting to the app. Did I miss something or it will take time to activate Android Device Verification.
Make sure your app is Registered via SafetyNet at:
Firebase Console > Project Settings > App Check > Your app
Secondly, try to test it on a real device. If you are testing phone authentication on an emulator then reCAPTCHA screen will be still shown but for real devices it won’t be shown anymore as stated in the official documentation.
Addition: It will always be shown in rooted devices.
Edit: If this is happening only to your playstore downloaded application, then you probably didn't add your playstore signing SHA1 and SHA256 to your firebase.
Go to your playstore account, app signing under integrity and copy these keys and add them to your firebase project.

Flutter in app purchase iOS not testable in testfly?

I have already an iOS app in production, but I have change a little the purchase part. I don't remember or found if it's normal that I can't test a purchase in testfly or in debug mode/release mode.
The id purchase is detected and the product is display. My purchase test work on Android when I clic on the product, I see pop up to test a purchase. But on iOS when I clic on product I have nothing. In debug the purchase is call but no pop up to validate purchase to test, and no more information about errors.
sandbox is activated
sandboxTesting=true;
On my device setting-> itunes Store and app Store-> I have my app id add in sandbox
In app purchase is add on xcode signing and capabilities
Other observation I remember that before I had pop up to add user id and password to connect, I now I don't know why, I don't have the apple connect pop up.
The only things I did, is to try to upgrade flutter, and downgrade ( because some bug) to return to initiale version who is in production. I even try to return to the initial flutter release ( who expected to work) and I have same problem...
I try to create a new flutter projet to test purchase example from flutter package, and use my current bundle id to display my product. It's display but I have same problem : no connection pop up, no purchase pop up. nothing... but purchase is display, found, and all processus (Xcode, appstore connect, testfly .. is valid.
So I'm little afraid to publish without testing.
Before use time machine to backup all my mac before all this bug, I would have your opinion about this
Thank you

Why am I seeing iAd's advertisements, like I did in development, in my production app?

My app just got submitted to the app store and I just downloaded it, I am getting iAd's advertisements just like while I was developing it. Will is this showing up on other peoples devices? Or just on the devices that I have in my developer account?
There is a possibility that you've got a development version on the phone and that wasn't overwritten by your app downloaded from app store.
So, just try deleting the app from your phone and computer, and then try to re-sync.
Usually, you will not see your iAd ads on a device where you have installed any provisioning profiles.
In any case, to make sure that everything is working correctly, you should go to: http://iad.apple.com, log in, and check the status of your app (i.e., click on the app name at the bottom of the Summary page where you land).
If everything is ok, you should see a status message like in the attached picture. If not, the status message will mention "test ads". In this case, get in touch with Apple by going to itunesconnect and clicking the "Contact Us" link at the bottom of the page. They will fix it quickly.

testflight the app token for this app was not detected

Recently I have added some devices on Developer portal and try to upload the new build on test flight but getting this error
"the app token for this app was not detected"
It appears that TestFlight are presenting this message either in error or to push their SDK.
I can confirm that if you 'Ignore and Continue' everything works as per usual. I have verified that beta testers are able to install and open the app.
Check you token from testflight app
Add device identifier for test flight
// In application:didFinishLaunchingWithOptions
[TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]];
[TestFlight takeOff:#"9e5f8b26-358f-4a0e-b9c2-186d932b1187"];
Login to the Dashboard. Select the app you want to upload. Click on App Token on the left menu. You can get your app token from there. Then download the SDK. Follow SDK Installation Guide to integrate TestFlight to your app.
Go to Testflight.
Go to Apps
Go to your app name
Click on the down-arrow beside your app name in the top-right corner.
Go to edit info
Check the Token appears there
Compare the Token with your app token.
If they are same. Then wait for the cashes from Testflight. Otherwise correct those.
In case if you haven't integrated testflight sdk into your app.
Delete your app from testflight and upload it again.
To delete app checkout following snap.
Enjoy Programming!

IPhone and Xcode keychain - Can't delete keychain?

I have an app that writes to the keychain via KeyChainWrapper to validate an in-app purchase. Everything is working OK except that I can't seem to be able to delete the keychain item. I can delete when running through XCode, however, when I download the app from the App Store, do an actual in-app purchase, the keychain does not get deleted when I run my reset code in my app. I take it that there are two different keychain items installed on the device, one from the actual in-app purchases and one from the sandbox mode. I want to delete the keychain so when I download from the app store my app is back to normal without in-app purchase. Any suggestions?
I have the same problem: testing MKStoreKit on the device (as it doesn't work in iOS sim), purchased my test feature and now it's stored somewhere in keychain on the device, I don't even know where - MKStoreKit does this automatically.
Removing the app from the device doesn't work. I don't think that the only way is to reset the device...