internal async Task <Urho.Application> Launcher(Type type, ApplicationOptions options) { await launcherSemaphore.WaitAsync(); if (surface != null) { await surface.Stop(); surface.RemoveFromSuperview(); } surface = new Urho.iOS.UrhoSurface(this.Bounds); surface.AutoresizingMask = UIViewAutoresizing.All; this.Add(surface); app = await surface.Show(type, options); launcherSemaphore.Release(); return(app); }