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
+
+
+
+
+
+
+