Calling verifyPhoneNumber on my firebase ios app throws "internal-error" - ios

I use authentication by phone number in my flutter app. While it is working fine on Android I'm getting an error message on ios:
_firebaseAuth.verifyPhoneNumber(
phoneNumber: phoneNumber,
timeout: ...
verificationCompleted: ...
verificationFailed: verificationFailed,
codeSent: codeSent
...
static final PhoneVerificationFailed verificationFailed =
(FirebaseAuthException authException) {
Log.e(authException.message);
Log.e(authException.code);
}
Code and message both only says it is an internal error without any details.
Everything worked find before I moved the app to a new Appel developer account. This means the team id has changed.
I've also changed the team id here:
I've downloaded the google.plist again and put it into the runner directory.
The google cloud platform also shows the correct team id:
The same team id is shown in xcode in "Signing & Capabilities" -> Signing Certificate.
Changing the team id also causes loosing access to the keychain:
ITMS-90076: Potential Loss of Keychain Access - The previous version
of software has an application-identifier value of
['MKYCXH32H9.com.sykori.framr2'] and the new version of software being
submitted has an application-identifier of
['75GNKYT7HC.com.sykori.framr2']. This will result in a loss of
keychain access.
But I think the only means that data from previous versions is not accessible anyomore.

Since you said the issue appeared after you switched developer accounts, it's safe to assume the issue is generated by a config error.
Firebase Phone Auth for iOS docs specify a couple more steps than what you described above, namely:
Upload your APNs authentication key to Firebase. If you changed developer accounts APN auth keys also changed.
To enable Firebase SDK to use reCAPTCHA you need to add the REVERSED_CLIENT_ID to your URL Schemes box on the configuration page.
These two steps I think will solve the issue, but just to be sure you could go through all the steps from the docs to make sure nothing else is missing.

Related

How to migrate old app to Google Play app signing

I have an updated version of an old Xamarin Android app I want to release. I previously set up the signing key which I used to sign the app previously. Apparently, a few months ago I updated to the Google app signing mechanism, but apparently I still need to sign the app myself before uploading. But if I use my old script mechanism, Google tells me "You uploaded an APK that is not signed with the upload certificate." I can't figure out how to set up the signing with whatever that upload certificate is. Neither the Google nor Xamarin docs are comprehensible to me. I downloaded "upload_cert.der" and "deployment_cert.der" files from Google, but have no idea what to do with them. I tried using Visual Studio to publish, but it says to create Oauth client and enter the client ID and secret, pointing to the Google Play Console, but I can't figure out how to do that. It would be really nice if there were some docs for people in my situation.
Somewhere along the way I must have regenerated the keystore, which no longer matched the key Google has. I found a backup of the keystore, restored it, and now it works.

Huawei Mobile Services In-app Purchases failed to load products once published in AppGallery

I integrated the HMS Core In-App Purchase service, and it works as expected in the sandbox test environment. However, the moment that I publish to the Huawei AppGallery, none of my products load and I get an error "failed to get data". I've done a few tests to see what the issue could be, and I'm pretty sure the code has been setup correctly. The problem always occurs once the app gets upload to AppGallery, and I'm starting to think that's where the problem is. Does anyone have any ideas on what's going on here?
Please check as follows:
Ensure that the certificate fingerprint has been configured, and the certificate for packing the signature on the local client is the same as the certificate for configuring the fingerprint in AppGallery Connect.
Please check that your service location is the same as the location where your HUAWEI ID was registered. To check the registration location, go to Account center > Settings > About. To check your service location, go to AppGallery > Me > Settings > Country/Region.
To give more precise solution, please provide the log.
This might be an app signature issue. Please check the documentation for App Signing.
https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-app_bundle
App Signing automatically generates a signature key which will automatically override the signature of any APK you submit. If you signed your app with your local keystore and registered it as the signature you're using for your app with App Signing is enabled, there will be a signature mismatch. AppGallery will write over the signature you put on your APK and put the one that is generated with App Signing.
Here are two separate solutions for this issue. Use the one that works the best for you.
Make sure the signature key that is registered to your app is the one generated by App Signing.
Disable App Signing.

iOS certificated on developer account and their role in App building

I have been an android developer and was thinking the life is not easy but then I found the iOS developer account and its relativity with project creation and other certifications.
I have developed the app, then in that App, I need to add FCM notifications. For this, I have installed FCM pod. And made necessary changes in the project.
Now its turn for me to connect my project with FCM ios ( and ios APNS with FCM server)
So good so far. Now I want to create a different team for this project. But When I create a distribution certificate it always creates a file with the name of the team I was using before i.e ABCD. I tried to create another profile but it just creates ABCD named file.
Can anyone tell what could be the problem?
2nd what are the steps required to create a production certificate for FCM to launch the app in the store?
Please discuss the first point in detail why it is happening? Why I can't change the name of the certificate.
Note: Whenever I try to create a development certificate it take another name
Please let me know what is going on..........
Xcode generates certificate fully automatic these days. You should let it automatically build them for you till you experienced more with apple signing process.
you can change any identifiers you want before sending any kind of build to appStore, (for example for test flight)
If you didn't upload to appstore yet, you can just login with your other account in Xcode and choose it from the team dropdown in signing section of general tap in Xcode. Then Xcode tries to sign the app with new credentials.
For FCM, follow the original documentation of FCM.
And at the end, Welcome to iOS world ;)

Add App Group entitlement

I'm trying to build an existing application that provides a Today widget. Unfortunately I cannot make the app to communicate with the widget. In the Capabilities section I get the following errors
I've installed appropriate provisioning profiles and I've double-checked that the App ID in DevCenter includes App Groups. Fix Issues button throws an error as I don't have sufficient privileges in the team. What else should I try?
You have to have at least one device in your developer account at the DevCenter.
Hope it helped.

Added another developer account to my computer and the old one no longer works

I just added a 2nd developer account to my computer to distribute apps. I wanted to keep everything seperated so I created another account for it.
I can validate and send apps with the new account, but now I get an error when I validate apps under the old account.
the error says my bundle contains a key value that is not allowed, the complete error message is
"Invalid code signing entitlments the entilment in your app bundle signature does not match the one conained in the provision profile. the budle key keu value that is not allowed 73pngm574.abctest
I'm using the xcode wildcard id for my app so abctest is the bundle id and 73pngm574 is my dveloper id
One thing that has worked for me is using Xcode to set things up correctly for you. Xcode --> Preferences --> Accounts. Use the account setup to link to your developer account and Xcode should sync things up for you.
You may need to remove any old keys or profiles you've copied in or tried setting up previously. Not exactly ideal, but "usually" works for me.

Resources