From 990de4ea4eec0bbbf32a537cd5216e02726e5d1c Mon Sep 17 00:00:00 2001 From: Federico Maccaroni Date: Mon, 2 Oct 2023 12:05:57 -0300 Subject: [PATCH] PM-3349 PM-3350 MAUI Migration Start iOS extensions --- bitwarden-mobile.sln | 76 +----- src/App/App.csproj | 4 +- src/Core/Pages/Accounts/LoginPageViewModel.cs | 2 + .../Pages/Generator/GeneratorPageViewModel.cs | 2 +- src/iOS.Autofill/AppDelegate.cs | 29 ++- .../CredentialProviderViewController.cs | 32 +-- src/iOS.Autofill/LoginListViewController.cs | 2 +- src/iOS.Autofill/LoginSearchViewController.cs | 2 +- src/iOS.Autofill/Properties/AssemblyInfo.cs | 36 --- src/iOS.Autofill/SetupViewController.cs | 2 +- src/iOS.Autofill/Utilities/AutofillHelpers.cs | 2 +- src/iOS.Autofill/iOS.Autofill.csproj | 246 +++++------------- 12 files changed, 126 insertions(+), 309 deletions(-) delete mode 100644 src/iOS.Autofill/Properties/AssemblyInfo.cs diff --git a/bitwarden-mobile.sln b/bitwarden-mobile.sln index 9c3f4df03..2015ec199 100644 --- a/bitwarden-mobile.sln +++ b/bitwarden-mobile.sln @@ -9,94 +9,30 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "src\Core\Core.cspro EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS.Core", "src\iOS.Core\iOS.Core.csproj", "{E71F3053-056C-4381-9638-048ED73BDFF6}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS.Autofill", "src\iOS.Autofill\iOS.Autofill.csproj", "{8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU - FDroid|Any CPU = FDroid|Any CPU - Debug|iPhone = Debug|iPhone - Debug|iPhoneSimulator = Debug|iPhoneSimulator - Release|iPhoneSimulator = Release|iPhoneSimulator - AppStore|Any CPU = AppStore|Any CPU - AppStore|iPhone = AppStore|iPhone - AppStore|iPhoneSimulator = AppStore|iPhoneSimulator - Ad-Hoc|Any CPU = Ad-Hoc|Any CPU - Ad-Hoc|iPhone = Ad-Hoc|iPhone - Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {971FDF07-E288-4239-B47A-E9E7E912193B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {971FDF07-E288-4239-B47A-E9E7E912193B}.Debug|Any CPU.Build.0 = Debug|Any CPU {971FDF07-E288-4239-B47A-E9E7E912193B}.Release|Any CPU.ActiveCfg = Release|Any CPU {971FDF07-E288-4239-B47A-E9E7E912193B}.Release|Any CPU.Build.0 = Release|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.FDroid|Any CPU.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.FDroid|Any CPU.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Debug|iPhone.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.AppStore|Any CPU.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.AppStore|iPhone.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {971FDF07-E288-4239-B47A-E9E7E912193B}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Debug|Any CPU.Build.0 = Debug|Any CPU {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Release|Any CPU.ActiveCfg = Release|Any CPU {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Release|Any CPU.Build.0 = Release|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.FDroid|Any CPU.ActiveCfg = FDroid|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.FDroid|Any CPU.Build.0 = FDroid|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Debug|iPhone.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.AppStore|Any CPU.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.AppStore|iPhone.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {11DBC05E-F8B4-49ED-AAC9-96D92336D21C}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU {E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|Any CPU.Build.0 = Debug|Any CPU {E71F3053-056C-4381-9638-048ED73BDFF6}.Release|Any CPU.ActiveCfg = Release|Any CPU {E71F3053-056C-4381-9638-048ED73BDFF6}.Release|Any CPU.Build.0 = Release|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.FDroid|Any CPU.ActiveCfg = FDroid|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.FDroid|Any CPU.Build.0 = FDroid|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhone.ActiveCfg = Debug|iPhone - {E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhone.Build.0 = Debug|iPhone - {E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|Any CPU.ActiveCfg = AppStore|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|Any CPU.Build.0 = AppStore|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhone.ActiveCfg = AppStore|iPhone - {E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhone.Build.0 = AppStore|iPhone - {E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|Any CPU.Build.0 = Ad-Hoc|Any CPU - {E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone - {E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone - {E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator - {E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator + {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|Any CPU.Build.0 = Release|iPhoneSimulator EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/App/App.csproj b/src/App/App.csproj index 2a4e3bcae..626c549ad 100644 --- a/src/App/App.csproj +++ b/src/App/App.csproj @@ -208,12 +208,12 @@ - + diff --git a/src/Core/Pages/Accounts/LoginPageViewModel.cs b/src/Core/Pages/Accounts/LoginPageViewModel.cs index 214f3d96a..e9e7cb98c 100644 --- a/src/Core/Pages/Accounts/LoginPageViewModel.cs +++ b/src/Core/Pages/Accounts/LoginPageViewModel.cs @@ -155,6 +155,8 @@ namespace Bit.App.Pages { try { + // TODO: [MAUI-Migration] added delay or the modal navigation doesn't happen because of modal-loading is shown + await Task.Delay(200); await _deviceActionService.ShowLoadingAsync(AppResources.Loading); await _stateService.SetPreLoginEmailAsync(Email); await AccountSwitchingOverlayViewModel.RefreshAccountViewsAsync(); diff --git a/src/Core/Pages/Generator/GeneratorPageViewModel.cs b/src/Core/Pages/Generator/GeneratorPageViewModel.cs index 03f5fcbae..1f274099f 100644 --- a/src/Core/Pages/Generator/GeneratorPageViewModel.cs +++ b/src/Core/Pages/Generator/GeneratorPageViewModel.cs @@ -338,7 +338,7 @@ namespace Bit.App.Pages public string PlusAddressedEmail { - get => _usernameOptions.PlusAddressedEmail; + get => _usernameOptions?.PlusAddressedEmail; set { if (_usernameOptions != null && _usernameOptions.PlusAddressedEmail != value) diff --git a/src/iOS.Autofill/AppDelegate.cs b/src/iOS.Autofill/AppDelegate.cs index e27c57ae6..8fbdf9fe6 100644 --- a/src/iOS.Autofill/AppDelegate.cs +++ b/src/iOS.Autofill/AppDelegate.cs @@ -1,8 +1,23 @@ -using Foundation; +using System; +using Foundation; +using Microsoft.Maui; +using Microsoft.Maui.Embedding; +using Microsoft.Maui.Hosting; using UIKit; namespace Bit.iOS.Autofill { + public class MauiContextSingleton + { + private static Lazy _instance = new Lazy(() => new MauiContextSingleton()); + + private MauiContextSingleton() { } + + public static MauiContextSingleton Instance = _instance.Value; + + public MauiContext MauiContext { get; set; } + } + [Register("AppDelegate")] public partial class AppDelegate : UIApplicationDelegate { @@ -26,5 +41,17 @@ namespace Bit.iOS.Autofill public override void WillTerminate(UIApplication application) { } + + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) + { + var builder = MauiApp.CreateBuilder(); + builder.UseMauiEmbedding(); + // Register the Window + builder.Services.Add(new Microsoft.Extensions.DependencyInjection.ServiceDescriptor(typeof(UIWindow), Window)); + var mauiApp = builder.Build(); + MauiContextSingleton.Instance.MauiContext = new MauiContext(mauiApp.Services); + + return base.FinishedLaunching(application, launchOptions); + } } } diff --git a/src/iOS.Autofill/CredentialProviderViewController.cs b/src/iOS.Autofill/CredentialProviderViewController.cs index fa6d06f5f..d40127d7c 100644 --- a/src/iOS.Autofill/CredentialProviderViewController.cs +++ b/src/iOS.Autofill/CredentialProviderViewController.cs @@ -16,9 +16,10 @@ using Bit.iOS.Core.Views; using CoreFoundation; using CoreNFC; using Foundation; +using Microsoft.Maui.Controls; +using Microsoft.Maui.Controls.Compatibility; +using Microsoft.Maui.Platform; using UIKit; -using Xamarin.Forms; -using Xamarin.Forms.Platform.iOS; namespace Bit.iOS.Autofill { @@ -42,7 +43,9 @@ namespace Bit.iOS.Autofill try { InitApp(); + base.ViewDidLoad(); + Logo.Image = new UIImage(ThemeHelpers.LightTheme ? "logo.png" : "logo_white.png"); View.BackgroundColor = ThemeHelpers.SplashBackgroundColor; _context = new Context @@ -61,6 +64,8 @@ namespace Bit.iOS.Autofill { try { + Console.WriteLine("[Bitwarden] PrepareCredentialList"); + InitAppIfNeeded(); _context.ServiceIdentifiers = serviceIdentifiers; if (serviceIdentifiers.Length > 0) @@ -392,9 +397,6 @@ namespace Bit.iOS.Autofill private void InitApp() { - // Init Xamarin Forms - Forms.Init(); - if (ServiceContainer.RegisteredServices.Count > 0) { ServiceContainer.Reset(); @@ -444,7 +446,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(homePage); - var loginController = navigationPage.CreateViewController(); + var loginController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); @@ -464,7 +466,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(environmentPage); - var loginController = navigationPage.CreateViewController(); + var loginController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); } @@ -482,7 +484,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(registerPage); - var loginController = navigationPage.CreateViewController(); + var loginController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); } @@ -505,7 +507,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(loginPage); - var loginController = navigationPage.CreateViewController(); + var loginController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); @@ -528,7 +530,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(loginWithDevicePage); - var loginController = navigationPage.CreateViewController(); + var loginController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); @@ -552,7 +554,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(loginPage); - var loginController = navigationPage.CreateViewController(); + var loginController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginController, true, null); @@ -582,7 +584,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(twoFactorPage); - var twoFactorController = navigationPage.CreateViewController(); + var twoFactorController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); twoFactorController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(twoFactorController, true, null); } @@ -601,7 +603,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(setPasswordPage); - var setPasswordController = navigationPage.CreateViewController(); + var setPasswordController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); setPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(setPasswordController, true, null); } @@ -619,7 +621,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(updateTempPasswordPage); - var updateTempPasswordController = navigationPage.CreateViewController(); + var updateTempPasswordController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); updateTempPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(updateTempPasswordController, true, null); } @@ -638,7 +640,7 @@ namespace Bit.iOS.Autofill } var navigationPage = new NavigationPage(loginApproveDevicePage); - var loginApproveDeviceController = navigationPage.CreateViewController(); + var loginApproveDeviceController = navigationPage.ToUIViewController(MauiContextSingleton.Instance.MauiContext); loginApproveDeviceController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(loginApproveDeviceController, true, null); } diff --git a/src/iOS.Autofill/LoginListViewController.cs b/src/iOS.Autofill/LoginListViewController.cs index 59691c505..f53f5cb0c 100644 --- a/src/iOS.Autofill/LoginListViewController.cs +++ b/src/iOS.Autofill/LoginListViewController.cs @@ -1,8 +1,8 @@ using System; using Bit.App.Abstractions; using Bit.App.Controls; -using Bit.App.Resources; using Bit.Core.Abstractions; +using Bit.Core.Resources.Localization; using Bit.Core.Utilities; using Bit.iOS.Autofill.Models; using Bit.iOS.Autofill.Utilities; diff --git a/src/iOS.Autofill/LoginSearchViewController.cs b/src/iOS.Autofill/LoginSearchViewController.cs index 978636115..82f19fcba 100644 --- a/src/iOS.Autofill/LoginSearchViewController.cs +++ b/src/iOS.Autofill/LoginSearchViewController.cs @@ -3,7 +3,7 @@ using Bit.iOS.Autofill.Models; using Foundation; using UIKit; using Bit.iOS.Core.Controllers; -using Bit.App.Resources; +using Bit.Core.Resources.Localization; using Bit.iOS.Core.Views; using Bit.iOS.Autofill.Utilities; using Bit.iOS.Core.Utilities; diff --git a/src/iOS.Autofill/Properties/AssemblyInfo.cs b/src/iOS.Autofill/Properties/AssemblyInfo.cs deleted file mode 100644 index cf908ecaf..000000000 --- a/src/iOS.Autofill/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("BitwardeniOSAutofill")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Bitwarden Inc.")] -[assembly: AssemblyProduct("Bitwarden")] -[assembly: AssemblyCopyright("Copyright © 2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("8a3ecd75-3ec8-4cb3-b3a2-a73a724c279a")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/iOS.Autofill/SetupViewController.cs b/src/iOS.Autofill/SetupViewController.cs index bc487fe26..438d5ada4 100644 --- a/src/iOS.Autofill/SetupViewController.cs +++ b/src/iOS.Autofill/SetupViewController.cs @@ -1,7 +1,7 @@ using System; using UIKit; using Bit.iOS.Core.Controllers; -using Bit.App.Resources; +using Bit.Core.Resources.Localization; using Bit.iOS.Core.Utilities; namespace Bit.iOS.Autofill diff --git a/src/iOS.Autofill/Utilities/AutofillHelpers.cs b/src/iOS.Autofill/Utilities/AutofillHelpers.cs index bd2adca93..b0fb9acb0 100644 --- a/src/iOS.Autofill/Utilities/AutofillHelpers.cs +++ b/src/iOS.Autofill/Utilities/AutofillHelpers.cs @@ -1,8 +1,8 @@ using System.Linq; using System.Threading.Tasks; using Bit.App.Abstractions; -using Bit.App.Resources; using Bit.Core.Abstractions; +using Bit.Core.Resources.Localization; using Bit.Core.Utilities; using Bit.iOS.Core.Utilities; using Bit.iOS.Core.Views; diff --git a/src/iOS.Autofill/iOS.Autofill.csproj b/src/iOS.Autofill/iOS.Autofill.csproj index 0ca986d79..c15688df2 100644 --- a/src/iOS.Autofill/iOS.Autofill.csproj +++ b/src/iOS.Autofill/iOS.Autofill.csproj @@ -1,159 +1,34 @@  - + - Debug - iPhoneSimulator - {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A} - {EE2C853D-36AF-4FDB-B1AD-8E90477E2198};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Exe - Bit.iOS.Autofill - BitwardeniOSAutofill - Resources - Properties + net8.0-ios + True + Library + com.8bit.bitwarden.autofill + 1.0 + 1 + + False + + 12.0 - - true - full - false - bin\iPhoneSimulator\Debug - DEBUG - prompt - 4 - false - x86_64 - None - true - --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - false - NSUrlSessionHandler - 12.0 - Entitlements.plist + + + true + false - - none - true - bin\iPhoneSimulator\Release - prompt - 4 - Full - x86_64 - false - Entitlements.plist - NSUrlSessionHandler - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - iPhone Developer - Automatic + + + false + iossimulator-arm64 + Automatic + iPhone Developer + Entitlements.plist + all + None - - true - full - false - bin\iPhone\Debug - DEBUG - prompt - 4 - false - ARM64 - Entitlements.plist - iPhone Developer - true - None - NSUrlSessionHandler - --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - - - - - none - true - bin\iPhone\Release - prompt - 4 - Entitlements.plist - ARM64 - false - iPhone Distribution - Full - NSUrlSessionHandler - true - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - Dist: Autofill - - - - - - bin\iPhoneSimulator\AppStore\ - __IOS__;__MOBILE__;__UNIFIED__; - true - AnyCPU - false - prompt - MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - NSUrlSessionHandler - Full - 9.3 - iPhone Distribution - Entitlements.plist - Dist: Autofill - x86_64 - - - bin\iPhone\AppStore\ - __IOS__;__MOBILE__;__UNIFIED__; - true - AnyCPU - false - prompt - MinimumRecommendedRules.ruleset - Full - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - ARM64 - 10.2 - iPhone Distribution - Automatic:AppStore - Entitlements.plist - - - bin\iPhoneSimulator\Ad-Hoc\ - __IOS__;__MOBILE__;__UNIFIED__; - true - AnyCPU - false - prompt - MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - Full - NSUrlSessionHandler - 9.3 - iPhone Distribution - Adhoc: Autofill - Entitlements.plist - x86_64 - - - bin\iPhone\Ad-Hoc\ - __IOS__;__MOBILE__;__UNIFIED__; - true - AnyCPU - false - prompt - MinimumRecommendedRules.ruleset - ARM64 - NSUrlSessionHandler - Full - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" - true - iPhone Distribution - Entitlements.plist - Automatic:AdHoc + + false @@ -190,33 +65,9 @@ - - - - - - - - - - - {ee44c6a1-2a85-45fe-8d9b-bf1d5f88809c} - App - - - {4b8a8c41-9820-4341-974c-41e65b7f4366} - Core - - - {e71f3053-056c-4381-9638-048ed73bdff6} - iOS.Core - false - false - - @@ -265,9 +116,9 @@ - - 5.0.2 - + + + @@ -278,5 +129,40 @@ - - \ No newline at end of file + + + Resources\yubikey%403x.png + + + Resources\yubikey%402x.png + + + Resources\Icon%402x.png + + + Resources\logo%403x.png + + + Resources\check%402x.png + + + Resources\check%403x.png + + + Resources\logo%402x.png + + + Resources\Icon%403x.png + + + Resources\logo_white%403x.png + + + Resources\logo_white%402x.png + + + + + + +