У меня есть проект Xamarin, над которым я работал довольно долгое время. Но внезапно основной интерфейс пуст, когда я его открываю. На симуляторе iOS и на моем устройстве iOS.Пустой экран на iOS
Ошибка при создании приложения. Я получаю свой заставку, а затем просто белый пустой экран.
Я использую Xamarin в Visual Studio 15 с MVVMCross и раскадровки.
Я попробовал следующее:
- Reset IOS симулятор
- Cleaned решение в Visual Studio
- Пробовал другой раскадровку в качестве основного интерфейса
Любые идеи?
Edit: Вот мой AppDelegate.cs файл:
using Foundation;
using MvvmCross.Core.ViewModels;
using MvvmCross.iOS.Platform;
using MvvmCross.Platform;
using UIKit;
using Tjenester.Touch.Util;
namespace Tjenester.Touch
{
[Register("AppDelegate")]
public partial class AppDelegate : MvxApplicationDelegate
{
UIWindow _window;
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
_window = new UIWindow(UIScreen.MainScreen.Bounds);
var setup = new Setup(this, _window);
setup.Initialize();
var startup = Mvx.Resolve<IMvxAppStart>();
startup.Start();
_window.MakeKeyAndVisible();
MessageService.Initialize(this);
return true;
}
}
}
Вот мой CustomAppStart.cs:
using System;
using System.Threading.Tasks;
using Tjenester.Core.Helpers;
using Tjenester.Core.Services.Authentication;
using Tjenester.Core.ViewModels;
using Tjenester.Core.ViewModels.ViewModelParameters;
using Xamarin.Auth;
using Tjenester.Core;
using System.Threading;
using MvvmCross.Core.ViewModels;
/// <summary>
/// Custom Application start procedure to be fed to MvvmCross.
/// If we already have Username and Password, try login and proceed to the page.
/// TODO refactor when azure and google are added
/// </summary>
public class CustomAppStart : MvxNavigatingObject, IMvxAppStart
{
public void Start(object hint = null)
{
ShowViewModel<LoginViewModel>(new LoginPageParameters() {TryLogin = true});
}
}
Вот мой Setup.cs:
using UIKit;
using Tjenester.Core.Helpers;
using Foundation;
using Tjenester.Core.Services.Media;
using Tjenester.Touch.Services;
using Tjenester.Core.Services.Storage;
using Tjenester.Core.Services.Scripting;
using Tjenester.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using Tjenester.Core.Services.Http;
using MvvmCross.Core.ViewModels;
using MvvmCross.iOS.Platform;
using MvvmCross.Localization;
using MvvmCross.Platform;
using MvvmCross.Platform.Platform;
using MvvmCross.Platform.Plugins;
using Tjenester.Touch.Services.Http;
using Tjenester.Touch.Services.Storage;
namespace Tjenester.Touch
{
public class Setup : MvxIosSetup
{
private readonly UIWindow _win;
private readonly MvxApplicationDelegate _del;
public Setup(MvxApplicationDelegate applicationDelegate, UIWindow window)
: base(applicationDelegate, window)
{
_del = applicationDelegate;
_win = window;
}
protected override IMvxApplication CreateApp()
{
UIContext.SynchronizationContext = SynchronizationContext.Current;
if (NSLocale.PreferredLanguages.Length > 0) {
var pref = NSLocale.PreferredLanguages [0];
Settings.Language = pref.Substring (0, 2);
}
//Mvx.LazyConstructAndRegisterSingleton<IFileUploadService, TouchFileUploadService>();
Mvx.LazyConstructAndRegisterSingleton<IHttpClientFactory, HttpClientFactory>();
Mvx.LazyConstructAndRegisterSingleton<IStorageService, StorageService>();
Mvx.LazyConstructAndRegisterSingleton<IPicturePickerService, TouchPicturePickerService>();
return new Core.App();
}
protected override IEnumerable<System.Reflection.Assembly> ValueConverterAssemblies
{
get
{
var toReturn = base.ValueConverterAssemblies.ToList();
toReturn.Add(typeof(MvxLanguageConverter).Assembly);
return toReturn;
}
}
protected override IMvxPluginConfiguration GetPluginConfiguration(Type plugin)
{
if (plugin == typeof(Tjenester.Core.Services.Scripting.PluginLoader))
{
return new MvxScriptServiceConfiguration()
.UseDefaultScriptBindings()
;
}
return base.GetPluginConfiguration(plugin);
}
protected override IMvxTrace CreateDebugTrace()
{
return new MvxDebugTrace();
}
}
}
Как выглядят ваши методы AppDelegate? Не могли бы вы опубликовать некоторые из наиболее важных методов? – pedrouan
My AppDelegate.cs добавлен сверху. –
Как вы выглядите AppStart? Как выглядит ваша установка? – Cheesebaron