Xamarin.Forms.Android no longer shows permission popup after reinstall - xamarin.forms

Developing a Xamarin.Forms.Android app which asks for some permissions, among other location, on start. Recently it stopped asking for permission, as if it had already asked two times, which is the current limit for newer Android, as far as I understand.
Permissions.RequestAsync<Permissions.LocationAlways>()
Returns denied on first call.
Previously this happened only after the second start, where it was denied, but now, even when I uninstall, clean, rebuild, reinstall the app on the device, it goes directly to denied.
I can still go into apps permission settings manually and turn it on, which works fine, though obviously not very elegant.
Why would this happen on latest Android and latest stable xamarin.forms. Again, I realize that this is expected behavior after two user refusals first, but for a reinstalled application?

This is a known "feature" of Android 11+
Apparently you need to first request when-in-use permission and only then always permission.
var whenInUse = await Permissions.RequestAsync<Permissions.LocationWhenInUse>();
var always = await Permissions.RequestAsync<Permissions.LocationAlways>();
https://developer.android.com/training/location/permissions#request-only-foreground

Related

Firebase services not working in another device when app is cloned from bitbucket

I've created a Jetpack Compose app in Android Studio and I'm using Firebase services (Auth and Firestore). Everything works fine. I can access and create registers, but is a team project, so I uploaded all the project to Bitbucket, and my team cloned the repo.
When my team tried to login with the same user/password, the app keeps waiting and don't even create an error message in "Log" or "Run" window.
We already tried by adding the next line in AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
Also, we already sync build.gradle and check for versions of implementations (and that couldn't be the problem because is a cloned repo, so everything remains the same).
As a detail that I think it could be affecting this: the package name in manifest keeps the same. Is this wrong?
When run the app, this seems to be working fine, even throw this messages.
I/FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
I/FirebaseInitProvider: FirebaseApp initialization successful
And this is what I get from trying to do an auth operation
D/TrafficStats: tagSocket(98) with statsTag=0xffffffff, statsUid=-1
If you have experienced this problem, I would appreciate all the help I can get, thank you so much.
An error occurred in the transfer-and-conversion process, most likely. You wrote code, you compiled it, it ran well. Then, you transferred it to a repo, so if the transfer process was faulty (some file(s) didn't go to the repo / something underwent a partial transfer), it would break right away even if you run it on your own device by downloading from there. Now, if the transfer wasn't faulty, their conversion to an APK could be.
Debugging
To confirm where the problem lies, upload the code to the same bucket as you mention, then download the code again and compile in a fresh project. If it doesn't compile, transfer is faulty (or none of you know how to compile). If it compiles and runs as expected, their conversion/compilation is at fault and you've got nothing to worry about, except the fact that you have a team of useless drunks.
Solution
Should be obvious, if they can't make the end-product by themselves (those useless drunks), give it to them on a platter.
In Studio, go to "Build > Generate APK(s)". A confirmation dialog will have the link to the generated file once it's done. Share the apk directly with your "team" and see if it works. No need to see, it will work. Why do you have all the code if you are in a "team". Is it one of those teams where a single person does everything?

The package "apppxbundle" is taking a long time to process. Unable to push update to windows store [UWP] [ Xamarin.Forms]

I've been at this for past 2 days and I'm getting weird errors from the store.
I'm trying to upload an update to my application "CoManga" via the store and it's not working out.
I'm working on Xamarin.Forms (UWP) and before making the appxbundle, I made sure and "associated my app with CoManga" from my developer account. All the information over there matches and should work fine without any issues.
Then I made a release of my UWP app, got the bundle and I tried to upload it to UWP.
It said that the Publisher info is different, so it couldn't upload. This is weird because I tried signing the bundle with my developer account itself.
Now, I tried building and signing the app bundle from app center. I got the appxbundle and that I tried to upload. But, since today it's giving me weird error :
The package comic_dl.UWP_2.1.15.0_ARM_x86_x64.appxbundle is taking a
long time to process. If this isn’t completed soon, try refreshing the
page, or remove the package and then upload it again. If you continue
to see this issue, contact support.
This package I tried to build from my system manually : https://drive.google.com/open?id=1VVvF6IB70R2DKNUgBJcqw-HryL1LIwgo
This is what I got from App center : https://drive.google.com/open?id=1o0sGKU2AKVgrcTelIoRFz7QCe8Do0WJ3
This is the Store ID : 9N81F8B5WW93
Can someone guide me what I might be doing wrong/missing something.
Thanks
EDIT Update : So, I followed the suggestion and contacted Microsoft's Team for help on this issue. After 3 months of multiple contacts, I was able to get someone to reply back and follow the case. Even they tried things on their end and I tried by deleting all the certificate files I had in my current project and tried to manually build the manifest file and then it worked. I'm not entirely sure what worked out in the end. But, you can try these things if you run into this issue.
1.) Clean your project.
2.) Delete .vs directory.
3.) Look for any certificate files in your project. Back them up somewhere else and then delete them from the project (Don't exclude from project, just delete them entirely). Clean and rebuild your solution.
4.) Check if the application is already installed on your system (When you debug, VS will install your UWP app on your machine to run it). If it's installed, uninstall it completely.
5.) Make a backup of your manifest file and try to create a new manifest file.
These are the links I received from Microsoft Help:
PFN and package publisher name must match values here: https://partner.microsoft.com/en-us/dashboard/products/{YourAppID}/identity
Update manually: https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/how-to-create-a-package-manifest-manually
Update in VS: https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/generate-package-manifest
If these values were pulled from test certificate, partner needs to update their test cert: https://learn.microsoft.com/en-us/windows/msix/package/create-certificate-package-signing
I think this problem is not caused by anything code related, but rather it is a problem on the Store side. I would suggest contacting the Store support, they should be able to investigate if there is something wrong with your app package or the problem is on their side.
For support go to the official website, click the Contact Us tab and fill out the form accordingly.
The team should be able to advise even for the first error with different publisher info. If your app was always associated with the same account, there is no reason it should give you such an error message.
I had this issue gazillion of times. It is so frustrating. That error message isn't useful at all.
Anyway - I think it is something in Package.appxmanifest, something in Identity tag.
Retrieving some necessary info from store helped me.
Click right on your project -> Publish -> Associate App with the Store. This will update Package Display Name,Package Name,Publisher ID,Publisher Display Name and Version with correct values (within Package.appxmanifes).
Also be careful with version number. The last from numbers must be zero. 1.1.1.0 is fine, while 1.1.1.1 is not.

Expo: "Something went wrong" immediately on start

I have used Expo a few times successfully before, but for a few days now, I am unable to get into the Expo App. Whenever I open it, I see the Expo icon for a few seconds up to even minutes, and then it redirects me to the blue "Something went wrong" screen, as if I had tried to open an app.
But I didn't! It doesn't even let me scan a QR code, it just always shows this error. If I click the back button in the app, it simply terminates. I have ensured that it is the latest version and already reinstalled it once.
It seems like it somehow had locked itself onto an old, now non-existant server, and kept at it after reinstalling the app. Here is how I solved the problem:
In the metro bundler, choose connection type "Tunnel" and copy and send the URL to your phone. If you then click on it on your phone, it should redirect to the expo app. After that it got unstuck and I could finally use it normally with the QR code again!
The tools sometimes do get locked into this state.
Close and restart all components (Expo cli, browser tabs and clients) making sure to:
Kill any stray processes on the server (you need to check Activity Monitor / Process Explorer or similar depending on your platform)
Force quit all client devices and simulators using the correct method for each platform. To verify that the client process has actually been killed, check that the app splash screen is displayed for a short while when invoking it.
Clear the Expo cache when starting again: $ expo start --clear
I ran into the same issue. Solved it by going to the left sidebar in the Metro Bundler and sending a link via email!
I've tried many of the solutions and only one worked for me (which i found trying random things). I already had 'allow display over other apps' turned on (Android/OnePlus 6t) and didn't think it had anything to do with that. But I tried this...
Close the Expo app, go the the app settings and turn off 'allow display over other apps', open the expo app and [when prompted] turn on 'allow display over other apps' again.
That seems to work in my case - at least until the next time.

Xamarin, MobileCenter and an app doesn't start for no reason (apparently)

I'm writing this post because I don't know what I can do.
I'm developing an big app for iOS with a lot of users for my company; to log error and crashes I'm using Microsoft MobileCenter (Analytics and Crashed ver. 0.6), Xamarin.Forms ver. 2.3.3.168 and a lot of components such as Xam.Plugins, SQLite, PCLStorage, SharpZipLib.
As MobileCenter request the minimum target version for the app is 8.
Apart from minor bugs, the big problem is difficult to explain. I'm trying to ask you an advice.
The app is working fine. If I test it, I can't have any problems. At same point the app crashed for any apparently reason. No logs, no crashed, no nothing in MobileCenter. From this moment it's impossible to start the app and I can't have any logs about it: I can see the splash screen but after than the app is crashed again. It seems the problem raises after taking photo with camera.
When the app starts, it deletes images (if there are any in the folder), send a file to my server, and check with CrossDeviceInfo what the OS version is. Then the first page is called.
I tried to understand the problem to read the log in Xcode after connecting my device to my iMac but it's incomprehensible.
If I try to read the View Device Logs I can find one crash for my app but the log is still incomprehensible for me.
Then from Xcode I tried to open Organizer and under Crashes...
If I connect the device with this issue to my iMac and I deploy the app on it, the app is working fine. How can I understand where the problem is to fix it?
Update
In my App.xaml.cs I initialise MobileCenter like the following code:
public partial class App : Application
{
public App() {
// my code
}
protected override void OnStart()
{
MobileCenter.LogLevel = LogLevel.Verbose;
MobileCenter.Start(typeof(Analytics), typeof(Crashes));
}
}
It's Benjamin. I've already replied to you issues in our intercom but I wanted to reply to your issue here.
This scenario is not an actual crash but a kill of the app process by the operation system. The SDK runs as part of the app process and therefor can’t ever figure out that this kill even happened because the process is fully removed right away. Technically this is not a crash from an SDK perspective that it can detect and provide details for. Every single 3rd party SDK has this limitation and there is no way around it as Apple doesn’t provide the technical possibilities to do so.
In addition, none of your provided crash reports contain any reference to Mobile Center thus I can rule out our SDK is the cause of the kill.
I hope you find the cause for the issue.🖖

In app purchase didReceiveResponse does not show my product

By some mysterious reasons I got myself a jailbroken iPhone 3GS from a vendor whom I am finding difficult to track.
My task is to test out in app purchase functionality on it.
Currently it has iOS 5.0.1 with cydia installed.
No, it does not have Appsync.
I am installing my build through testflightapp API which works without issues with my app so far.
However when I initiate in app purchase, I don't get anything in response.products so far.
I have added productIDs and all in itunes-connect already, checked twice that they are fine, since 48 hours.
I tried testing with iPhone simulator 5.1, but all I got was no values from storekit. I would love to hear if there is any workaround with simulator.
Worked around this finally - deleted my app from itunes connect, re-added it.
It complained about name being already used.
I changed the language of name. And it worked.
Maybe, my prior app setup was right, but I had something else messed up.
In between, I rejected my app. That maybe one of the reason behind this issue.
Lesson?
Don't developer reject your app.

Resources