Hi,
I am trying to deploy to app store but it keeps giving me a crashing upon login in on the app. but on test flight everything seems to run smoothly.
"We're looking forward to completing our review, but we are unable to
continue because your app crashed during review. Please review the details
below and the attached crash logs, then complete the next steps.
Steps leading to crash:
Logging in to your app causes it to crash
Review device details:
Device type: iPad and iPhone
OS version: iOS 14.7.1
"
Just an overview I use Xamarin forms.
Upon launching I have this peice of code, if it has the following it would go to dashboard.
So this would check if it has the token and User Existing in the app
public App()
{
InitializeComponent();
Device.SetFlags(new[] { "SwipeView_Experimental" });
Device.SetFlags(new[] { "AppTheme_Experimental" });
if (Application.Current.Properties.ContainsKey("Token") && Application.Current.Properties.ContainsKey("User") && TokenUtility.CheckCredExpiration())
{
MainPage = new Dashboard();
}
else
{
MainPage = new LoginPage(null);
}
}
Login Functionality
async void SigninAsSupplier(object sender, EventArgs e)
{
User user = new User(Entry_User.Text, Entry_PassWord.Text);
if (Connectivity.NetworkAccess != NetworkAccess.Internet)
{
await DisplayAlert("Denied", "Login Failed, No Internet", "Ok");
return;
}
try {
if (user.CheckInformation())
{
RestService DaneporkRest = new RestService();
ActivitySpinner.IsRunning = true;
Token AuthCred = await DaneporkRest.FetchAccessToken(Entry_User.Text, Entry_PassWord.Text);
if (AuthCred == null)
{
await DisplayAlert("Denied", "Login Failed", "Ok");
ActivitySpinner.IsRunning = false;
}
else
{
token_controller.Save(AuthCred);
Application.Current.Properties["Token"] = AuthCred.access_token;
Application.Current.Properties["User"] = Entry_User.Text;
Application.Current.Properties["Expiration"] = AuthCred.DateExpiration;
var r = TokenUtility.CheckCredExpiration();
if (Device.RuntimePlatform == Device.Android)
{
//Runtime platform instead of OS.
//When the login is done, if we go to back it will go back to log in screen
// to prevent this we will overide behaviour.
Application.Current.MainPage = new Dashboard();
}
else if (Device.RuntimePlatform == Device.iOS)
{
await Navigation.PushModalAsync(new NavigationPage(new Dashboard()));
}
}
}
else
{
await DisplayAlert("Denied", "Login Failed", "Ok");
ActivitySpinner.IsRunning = false;
}
}
catch(Exception s)
{
throw s;
}
[Crash log](https://developer.apple.com/forums/content/attachment/900e4749-5881-4f97-8ebf-b40822c7079c)
[Additional Logs](https://developer.apple.com/forums/content/attachment/c373b1bc-b82e-44c3-94d6-2bb7475b9c28)
Selecting any option will automatically load the page