// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { global::Xamarin.Forms.Forms.Init(); FormsMaps.Init(); SvgImageRenderer.Init(); ExtendedTextCellRenderer.Init(); RoundedBoxViewRenderer.Init(); global::Xamarin.Forms.Forms.ViewInitialized += (object sender, ViewInitializedEventArgs e) => { // http://developer.xamarin.com/recipes/testcloud/set-accessibilityidentifier-ios/ if (null != e.View.StyleId) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; Console.WriteLine("Set AccessibilityIdentifier: " + e.View.StyleId); } }; #if DEBUG // requires Xamarin Test Cloud Agent component Calabash.Start(); #endif LoadApplication(new App()); return(base.FinishedLaunching(app, options)); }
/// <summary> /// Finisheds the launching. /// </summary> /// <returns><c>true</c>, if launching was finisheded, <c>false</c> otherwise.</returns> /// <param name="uiApplication">User interface application.</param> /// <param name="launchOptions">Launch options.</param> public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions) { Forms.Init(); // http://forums.xamarin.com/discussion/21148/calabash-and-xamarin-forms-what-am-i-missing Forms.ViewInitialized += (sender, e) => { // http://developer.xamarin.com/recipes/testcloud/set-accessibilityidentifier-ios/ if (null != e.View.StyleId) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; } }; FormsMaps.Init(); // Code for starting up the Xamarin Test Cloud Agent #if ENABLE_TEST_CLOUD Calabash.Start(); #endif CrossGeofence.Initialize <CrossGeofenceListener>(); this.LoadApplication(new App()); return(base.FinishedLaunching(uiApplication, launchOptions)); }
public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions) { #region configure context SensusContext.Current = new iOSSensusContext { Platform = Sensus.Context.Platform.iOS, MainThreadSynchronizer = new MainConcurrent(), SymmetricEncryption = new SymmetricEncryption(SensusServiceHelper.ENCRYPTION_KEY) }; // iOS introduced a new notification center in 10.0 based on UNUserNotifications if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0)) { UNUserNotificationCenter.Current.RequestAuthorizationAsync(UNAuthorizationOptions.Badge | UNAuthorizationOptions.Sound | UNAuthorizationOptions.Alert); UNUserNotificationCenter.Current.RemoveAllDeliveredNotifications(); UNUserNotificationCenter.Current.RemoveAllPendingNotificationRequests(); UNUserNotificationCenter.Current.Delegate = new UNUserNotificationDelegate(); SensusContext.Current.CallbackScheduler = new UNUserNotificationCallbackScheduler(); SensusContext.Current.Notifier = new UNUserNotificationNotifier(); } // use the pre-10.0 approach based on UILocalNotifications else { UIApplication.SharedApplication.RegisterUserNotificationSettings(UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Badge | UIUserNotificationType.Sound | UIUserNotificationType.Alert, new NSSet())); SensusContext.Current.CallbackScheduler = new UILocalNotificationCallbackScheduler(); SensusContext.Current.Notifier = new UILocalNotificationNotifier(); } #endregion SensusServiceHelper.Initialize(() => new iOSSensusServiceHelper()); // facebook settings Settings.AppID = "873948892650954"; Settings.DisplayName = "Sensus"; Forms.Init(); FormsMaps.Init(); MapExtendRenderer.Init(); new SfChartRenderer(); ZXing.Net.Mobile.Forms.iOS.Platform.Init(); LoadApplication(new App()); #if UI_TESTING Forms.ViewInitialized += (sender, e) => { if (!string.IsNullOrWhiteSpace(e.View.StyleId)) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; } }; Calabash.Start(); #endif return(base.FinishedLaunching(uiApplication, launchOptions)); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { // Override point for customization after application launch. // If not required for your application you can safely delete this method // Code to start the Xamarin Test Cloud Agent #if ENABLE_TEST_CLOUD Calabash.Start(); #endif return(true); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { #if ENABLE_TEST_CLOUD Calabash.Start(); #endif Forms.Init(); CachedImageRenderer.Init(); LoadApplication(new App()); return(base.FinishedLaunching(app, options)); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { window = new UIWindow(UIScreen.MainScreen.Bounds); viewController = new UINavigationController(new CreditCardValidationScreen()); window.RootViewController = viewController; window.MakeKeyAndVisible(); #if DEBUG Calabash.Start(); #endif return(true); }
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { #if ENABLE_TEST_CLOUD // requires Xamarin Test Cloud Agent Calabash.Start(); #endif Forms.Init(); AnimationViewRenderer.Init(); LoadApplication(new App()); return(base.FinishedLaunching(app, options)); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { #if ENABLE_TEST_CLOUD Calabash.Start(); #endif //this.ConfigureHockeyApp(); Dependencies.InitializeDemo(); //Dependencies.Initialize<Authentication>(); Theme.Default.Apply(); return(true); }
// This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. public override bool FinishedLaunching(UIApplication app, NSDictionary options) { #if DEBUG Calabash.Start(); #endif Forms.Init(); AuthenticationConfiguration.Init(); UIApplication.SharedApplication.StatusBarHidden = false; FormsMaps.Init(); LoadApplication(new App(new PlatformInitializer())); return(base.FinishedLaunching(app, options)); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { var mainViewModel = new MainViewModel(); mainViewModel.RequestHomePage = OnRequestHomePage; mainViewModel.RequestOnboardingPage = OnRequestOnboardingPage; _lifecycleService.OnStart(); #if DEBUG Calabash.Start(); #endif Insights.Initialize(Settings.XamarinInsightsApiKey); return(true); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { #if ENABLE_TEST_CLOUD Calabash.Start(); #endif Forms.SetFlags("SwipeView_Experimental"); Popup.Init(); Forms.Init(); App.ScreenWidth = UIScreen.MainScreen.Bounds.Width; App.ScreenHeight = UIScreen.MainScreen.Bounds.Height; LoadApplication(new App()); return(base.FinishedLaunching(app, options)); }
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { Forms.Init(); FormsMaps.Init(); LoadApplication(new App()); ConfigureTheming(); ImageCircleRenderer.Init(); #if ENABLE_TEST_CLOUD Calabash.Start(); #endif return(base.FinishedLaunching(app, options)); }
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { #if ENABLE_TEST_CLOUD Calabash.Start(); #endif #if DEBUG Calabash.Start(); #endif // affects all UISwitch controls in the app UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); Forms.Init(); LoadApplication(new App()); return(base.FinishedLaunching(app, options)); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // 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(); Calabash.Start(); _window.MakeKeyAndVisible(); return(true); }
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // create a new window instance based on the screen size window = new UIWindow(UIScreen.MainScreen.Bounds); // make the window visible window.MakeKeyAndVisible(); // create our nav controller navController = new UINavigationController(); // create our home controller based on the device if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) { homeViewController = new HomeScreen(); } else { homeViewController = new HomeScreen(); // TODO: replace with iPad screen if we implement for iPad } // Styling UINavigationBar.Appearance.TintColor = UIColor.FromRGB(38, 117, 255); // nice blue UITextAttributes ta = new UITextAttributes(); ta.Font = UIFont.FromName("AmericanTypewriter-Bold", 0f); UINavigationBar.Appearance.SetTitleTextAttributes(ta); ta.Font = UIFont.FromName("AmericanTypewriter", 0f); UIBarButtonItem.Appearance.SetTitleTextAttributes(ta, UIControlState.Normal); // push the view controller onto the nav controller and show the window navController.PushViewController(homeViewController, false); window.RootViewController = navController; window.MakeKeyAndVisible(); #if DEBUG Calabash.Start(); #endif return(true); }
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { if (InsightsManager.IsEnabled) { Insights.Initialize(Keys.InsightsApiKey); } Calabash.Start(); Forms.Init(); ImageCircleRenderer.Init(); ToastNotifier.Init(); //We're using the value of the StyleId as the accessibility identifier for use w/ Xamarin UITest / XTC Forms.ViewInitialized += (sender, e) => { if (null != e.View.StyleId) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; } }; var atts = new UITextAttributes { Font = UIFont.FromName("SegoeUI", 22), }; UINavigationBar.Appearance.SetTitleTextAttributes(atts); var barButtonAtts = new UITextAttributes { Font = UIFont.FromName("SegoeUI", 16), }; UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.LightContent; UIBarButtonItem.Appearance.SetTitleTextAttributes(barButtonAtts, UIControlState.Normal); UIBarButtonItem.Appearance.SetBackButtonTitlePositionAdjustment(new UIOffset(0, -100), UIBarMetrics.Default); LoadApplication(new App()); ProcessPendingPayload(options); return(base.FinishedLaunching(app, options)); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // /// <summary> /// Finisheds the launching. /// </summary> /// <param name="app">The application.</param> /// <param name="options">The options.</param> /// <returns></returns> public override Boolean FinishedLaunching(UIApplication app, NSDictionary options) { AppDomain.CurrentDomain.UnhandledException += this.CurrentDomainOnUnhandledException; TaskScheduler.UnobservedTaskException += this.TaskSchedulerOnUnobservedTaskException; this.Device = new iOSDevice(); this.AnalysisLogger = new AppCenterAnalysisLogger(); Forms.Init(); Calabash.Start(); SfBorderRenderer.Init(); SfButtonRenderer.Init(); SfTabViewRenderer.Init(); this.LoadApplication(new App(this.Device, this.AnalysisLogger)); return(base.FinishedLaunching(app, options)); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { //Xamarin Insights Insights.Initialize(Keys.XamarinInsightsKey); Insights.HasPendingCrashReport += PurgeCrashReports; #if DEBUG //BeerDrinkin.Core.Helpers.Settings.FirstRun = true; Calabash.Start(); #endif //Windows Azure CurrentPlatform.Init(); SQLitePCL.CurrentPlatform.Init(); Client.Instance.BeerDrinkinClient.InitializeStoreAsync(); SetupGlobalAppearances(); ConfigureJudoPayments(); return(true); }
public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions) { InsightsInitialization.Initialize(new iOSInsightsInitializer(UIDevice.CurrentDevice.IdentifierForVendor.AsString()), SensusServiceHelper.XAMARIN_INSIGHTS_APP_KEY); SensusContext.Current = new iOSSensusContext(SensusServiceHelper.ENCRYPTION_KEY); SensusServiceHelper.Initialize(() => new iOSSensusServiceHelper()); // facebook settings Settings.AppID = "873948892650954"; Settings.DisplayName = "Sensus"; Forms.Init(); FormsMaps.Init(); MapExtendRenderer.Init(); new SfChartRenderer(); // toasts for iOS DependencyService.Register <ToastNotificatorImplementation>(); ToastNotificatorImplementation.Init(); LoadApplication(new App()); uiApplication.RegisterUserNotificationSettings(UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Badge | UIUserNotificationType.Sound | UIUserNotificationType.Alert, new NSSet())); #if UNIT_TESTING Forms.ViewInitialized += (sender, e) => { if (!string.IsNullOrWhiteSpace(e.View.StyleId)) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; } }; Calabash.Start(); #endif return(base.FinishedLaunching(uiApplication, launchOptions)); }
// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // /// <summary> /// Finisheds the launching. /// </summary> /// <param name="app">The application.</param> /// <param name="options">The options.</param> /// <returns></returns> public override Boolean FinishedLaunching(UIApplication app, NSDictionary options) { AppDomain.CurrentDomain.UnhandledException += this.CurrentDomainOnUnhandledException; TaskScheduler.UnobservedTaskException += this.TaskSchedulerOnUnobservedTaskException; String connectionString = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "TransactionProcessing.db"); this.Device = new iOSDevice(); this.Database = new DatabaseContext(connectionString); Forms.Init(); Calabash.Start(); SfBorderRenderer.Init(); SfButtonRenderer.Init(); SfTabViewRenderer.Init(); this.LoadApplication(new App(this.Device, this.Database)); return(base.FinishedLaunching(app, options)); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { // Override point for customization after application launch. // If not required for your application you can safely delete this method // Code to start the Xamarin Test Cloud Agent #if ENABLE_TEST_CLOUD Calabash.Start(); #endif Xamarin.Forms.Forms.Init(); var containerBuilder = new Autofac.ContainerBuilder(); containerBuilder.RegisterType <MediaPicker> ().As <IMediaPicker> (); containerBuilder.RegisterType <TesseractApi> ().As <ITesseractApi> (); Resolver.SetResolver(new AutofacResolver(containerBuilder.Build())); LoadApplication(new App()); return(base.FinishedLaunching(application, launchOptions)); }
public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions) { // insights should be initialized first to maximize coverage of exception reporting InsightsInitialization.Initialize(new iOSInsightsInitializer(UIDevice.CurrentDevice.IdentifierForVendor.AsString()), SensusServiceHelper.XAMARIN_INSIGHTS_APP_KEY); #region configure context SensusContext.Current = new iOSSensusContext { Platform = Sensus.Context.Platform.iOS, MainThreadSynchronizer = new MainConcurrent(), SymmetricEncryption = new SymmetricEncryption(SensusServiceHelper.ENCRYPTION_KEY) }; // iOS introduced a new notification center in 10.0 based on UNUserNotifications if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0)) { UNUserNotificationCenter.Current.RequestAuthorizationAsync(UNAuthorizationOptions.Badge | UNAuthorizationOptions.Sound | UNAuthorizationOptions.Alert); UNUserNotificationCenter.Current.RemoveAllDeliveredNotifications(); UNUserNotificationCenter.Current.RemoveAllPendingNotificationRequests(); UNUserNotificationCenter.Current.Delegate = new UNUserNotificationDelegate(); SensusContext.Current.CallbackScheduler = new UNUserNotificationCallbackScheduler(); SensusContext.Current.Notifier = new UNUserNotificationNotifier(); } // use the pre-10.0 approach based on UILocalNotifications else { UIApplication.SharedApplication.RegisterUserNotificationSettings(UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Badge | UIUserNotificationType.Sound | UIUserNotificationType.Alert, new NSSet())); SensusContext.Current.CallbackScheduler = new UILocalNotificationCallbackScheduler(); SensusContext.Current.Notifier = new UILocalNotificationNotifier(); } #endregion SensusServiceHelper.Initialize(() => new iOSSensusServiceHelper()); // facebook settings Settings.AppID = "873948892650954"; Settings.DisplayName = "Sensus"; Forms.Init(); FormsMaps.Init(); MapExtendRenderer.Init(); new SfChartRenderer(); ZXing.Net.Mobile.Forms.iOS.Platform.Init(); LoadApplication(new App()); #if UI_TESTING Forms.ViewInitialized += (sender, e) => { if (!string.IsNullOrWhiteSpace(e.View.StyleId)) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; } }; Calabash.Start(); #endif // background authorization will be done implicitly when the location manager is used in probes, but the authorization is // done asynchronously so it's likely that the probes will believe that GPS is not enabled/authorized even though the user // is about to grant access (if they choose). now, the health test should fix this up by checking for GPS and restarting // the probes, but the whole thing will seem strange to the user. instead, prompt the user for background authorization // immediately. this is only done one time after the app is installed and started. _locationManager.RequestAlwaysAuthorization(); return(base.FinishedLaunching(uiApplication, launchOptions)); }
public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions) { DateTime finishLaunchStartTime = DateTime.Now; UIDevice.CurrentDevice.BatteryMonitoringEnabled = true; SensusContext.Current = new iOSSensusContext { Platform = Sensus.Context.Platform.iOS, MainThreadSynchronizer = new MainConcurrent(), SymmetricEncryption = new SymmetricEncryption(SensusServiceHelper.ENCRYPTION_KEY), PowerConnectionChangeListener = new iOSPowerConnectionChangeListener() }; SensusContext.Current.CallbackScheduler = new iOSTimerCallbackScheduler(); // new UNUserNotificationCallbackScheduler(); SensusContext.Current.Notifier = new UNUserNotificationNotifier(); UNUserNotificationCenter.Current.Delegate = new UNUserNotificationDelegate(); // we've seen cases where previously terminated runs of the app leave behind // local notifications. clear these out now. any callbacks these notifications // would have triggered are about to be rescheduled when the app is actived. (SensusContext.Current.Notifier as iOSNotifier).RemoveAllNotifications(); // initialize stuff prior to app load Forms.Init(); FormsMaps.Init(); // initialize the syncfusion charting system #pragma warning disable RECS0026 // Possible unassigned object created by 'new' new SfChartRenderer(); #pragma warning restore RECS0026 // Possible unassigned object created by 'new' ZXing.Net.Mobile.Forms.iOS.Platform.Init(); // load the app, which starts crash reporting and analytics telemetry. LoadApplication(new App()); // we have observed that, if the app is in the background and a push notification arrives, // then ios may attempt to launch the app and call this method but only provide a few (~5) // seconds for this method to return. exceeding this time results in a fored termination by // ios. as we're about to deserialize a large JSON object below when initializing the service // helper, we need to be careful about taking up too much time. start a background task to // obtain as much background time as possible and report timeouts. needs to be after app load // in case we need to report a timeout exception. nint finishLaunchingTaskId = uiApplication.BeginBackgroundTask(() => { string message = "Ran out of time while finishing app launch."; SensusException.Report(message); Console.Error.WriteLine(message); }); // initialize service helper. must come after context initialization. desirable to come // after app loading, in case we crash. crash reporting is initialized when the app // object is created. nothing in the app creating and loading loop will depend on having // an initialized service helper, so we should be fine. SensusServiceHelper.Initialize(() => new iOSSensusServiceHelper()); // register for push notifications. must come after service helper initialization as we use // the serivce helper below to submit the remote notification token to the backends. if the // user subsequently denies authorization to display notifications, then all remote notifications // will simply be delivered to the app silently, per the following: // // https://developer.apple.com/documentation/uikit/uiapplication/1623078-registerforremotenotifications // UIApplication.SharedApplication.RegisterForRemoteNotifications(); #if UI_TESTING Forms.ViewInitialized += (sender, e) => { if (!string.IsNullOrWhiteSpace(e.View.StyleId)) { e.NativeView.AccessibilityIdentifier = e.View.StyleId; } }; Calabash.Start(); #endif uiApplication.EndBackgroundTask(finishLaunchingTaskId); // must come after app load base.FinishedLaunching(uiApplication, launchOptions); // record how long we took to launch. ios is eager to kill apps that don't start fast enough, so log information // to help with debugging. DateTime finishLaunchEndTime = DateTime.Now; SensusServiceHelper.Get().Logger.Log("Took " + (finishLaunchEndTime - finishLaunchStartTime) + " to finish launching.", LoggingLevel.Normal, GetType()); return(true); }