diff --git a/.github/resources/export-options-app-store.plist b/.github/resources/export-options-app-store.plist
index df3ed635b..92b07238b 100644
--- a/.github/resources/export-options-app-store.plist
+++ b/.github/resources/export-options-app-store.plist
@@ -12,8 +12,6 @@
Dist: Autofill 2021
com.8bit.bitwarden.find-login-action-extension
Dist: Extension 2021
- com.8bit.bitwarden.share-extension
- Dist: Share Extension 2021
diff --git a/.github/secrets/dist_share_extension.mobileprovision.gpg b/.github/secrets/dist_share_extension.mobileprovision.gpg
deleted file mode 100644
index 0fad3826d..000000000
Binary files a/.github/secrets/dist_share_extension.mobileprovision.gpg and /dev/null differ
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 94b6ccede..7650fadca 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -382,8 +382,6 @@ jobs:
--output $HOME/secrets/dist_bitwarden.mobileprovision ./.github/secrets/dist_bitwarden.mobileprovision.gpg
gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \
--output $HOME/secrets/dist_extension.mobileprovision ./.github/secrets/dist_extension.mobileprovision.gpg
- gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \
- --output $HOME/secrets/dist_share_extension.mobileprovision ./.github/secrets/dist_share_extension.mobileprovision.gpg
shell: bash
- name: Increment version
@@ -397,7 +395,6 @@ jobs:
perl -0777 -pi.bak -e 's/CFBundleVersion<\/key>\s*1<\/string>/CFBundleVersion<\/key>\n\t'"$BUILD_NUMBER"'<\/string>/' ./src/iOS/Info.plist
perl -0777 -pi.bak -e 's/CFBundleVersion<\/key>\s*1<\/string>/CFBundleVersion<\/key>\n\t'"$BUILD_NUMBER"'<\/string>/' ./src/iOS.Extension/Info.plist
perl -0777 -pi.bak -e 's/CFBundleVersion<\/key>\s*1<\/string>/CFBundleVersion<\/key>\n\t'"$BUILD_NUMBER"'<\/string>/' ./src/iOS.Autofill/Info.plist
- perl -0777 -pi.bak -e 's/CFBundleVersion<\/key>\s*1<\/string>/CFBundleVersion<\/key>\n\t'"$BUILD_NUMBER"'<\/string>/' ./src/iOS.ShareExtension/Info.plist
shell: bash
- name: Set up Keychain
@@ -422,7 +419,6 @@ jobs:
AUTOFILL_PROFILE_PATH=$HOME/secrets/dist_autofill.mobileprovision
BITWARDEN_PROFILE_PATH=$HOME/secrets/dist_bitwarden.mobileprovision
EXTENSION_PROFILE_PATH=$HOME/secrets/dist_extension.mobileprovision
- SHARE_EXTENSION_PROFILE_PATH=$HOME/secrets/dist_share_extension.mobileprovision
PROFILES_DIR_PATH=$HOME/Library/MobileDevice/Provisioning\ Profiles
mkdir -p "$PROFILES_DIR_PATH"
@@ -435,9 +431,6 @@ jobs:
EXTENSION_UUID=$(grep UUID -A1 -a $EXTENSION_PROFILE_PATH | grep -io "[-A-F0-9]\{36\}")
cp $EXTENSION_PROFILE_PATH "$PROFILES_DIR_PATH/$EXTENSION_UUID.mobileprovision"
-
- SHARE_EXTENSION_UUID=$(grep UUID -A1 -a $SHARE_EXTENSION_PROFILE_PATH | grep -io "[-A-F0-9]\{36\}")
- cp $SHARE_EXTENSION_PROFILE_PATH "$PROFILES_DIR_PATH/$SHARE_EXTENSION_UUID.mobileprovision"
shell: bash
- name: Restore packages
diff --git a/bitwarden-mobile.sln b/bitwarden-mobile.sln
index 07434b50a..3d74bd7c6 100644
--- a/bitwarden-mobile.sln
+++ b/bitwarden-mobile.sln
@@ -38,14 +38,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS", "src\iOS\iOS.csproj",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS.Extension", "src\iOS.Extension\iOS.Extension.csproj", "{324BE76C-38FA-4F11-8BB1-95C7B3B1B545}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS.Autofill", "src\iOS.Autofill\iOS.Autofill.csproj", "{8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "test\Common\Common.csproj", "{4085B0A5-12A9-4993-B8B8-4ACE72E62E39}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Test", "test\Core.Test\Core.Test.csproj", "{8AE548D9-A567-4E97-995E-93EC7DB0FDE0}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS.ShareExtension", "src\iOS.ShareExtension\iOS.ShareExtension.csproj", "{F8C3F648-EA5A-4719-8005-85D1690B1655}"
-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
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
@@ -327,6 +325,35 @@ Global
{324BE76C-38FA-4F11-8BB1-95C7B3B1B545}.Release|iPhone.Build.0 = Release|iPhone
{324BE76C-38FA-4F11-8BB1-95C7B3B1B545}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{324BE76C-38FA-4F11-8BB1-95C7B3B1B545}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|Any CPU.Build.0 = Ad-Hoc|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|Any CPU.Build.0 = AppStore|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhone.Build.0 = AppStore|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|Any CPU.ActiveCfg = Debug|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhone.ActiveCfg = Debug|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhone.Build.0 = Debug|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhone.Deploy.0 = Debug|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|Any CPU.ActiveCfg = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|Any CPU.Build.0 = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhone.ActiveCfg = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhone.Build.0 = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|Any CPU.ActiveCfg = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhone.ActiveCfg = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhone.Build.0 = Release|iPhone
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{4085B0A5-12A9-4993-B8B8-4ACE72E62E39}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{4085B0A5-12A9-4993-B8B8-4ACE72E62E39}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{4085B0A5-12A9-4993-B8B8-4ACE72E62E39}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
@@ -387,65 +414,6 @@ Global
{8AE548D9-A567-4E97-995E-93EC7DB0FDE0}.Release|iPhone.Build.0 = Release|Any CPU
{8AE548D9-A567-4E97-995E-93EC7DB0FDE0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{8AE548D9-A567-4E97-995E-93EC7DB0FDE0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Ad-Hoc|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Ad-Hoc|Any CPU.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.AppStore|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.AppStore|Any CPU.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.AppStore|iPhone.Build.0 = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.AppStore|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.AppStore|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Debug|iPhone.Build.0 = Debug|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.FDroid|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.FDroid|Any CPU.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.FDroid|iPhone.ActiveCfg = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.FDroid|iPhone.Build.0 = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.FDroid|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.FDroid|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Release|Any CPU.ActiveCfg = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Release|Any CPU.Build.0 = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Release|iPhone.ActiveCfg = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Release|iPhone.Build.0 = Release|iPhone
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|Any CPU.Build.0 = Ad-Hoc|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|Any CPU.Build.0 = AppStore|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhone.Build.0 = AppStore|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|Any CPU.ActiveCfg = Debug|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhone.Build.0 = Debug|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhone.Deploy.0 = Debug|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|Any CPU.ActiveCfg = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|Any CPU.Build.0 = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhone.ActiveCfg = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhone.Build.0 = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.FDroid|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|Any CPU.ActiveCfg = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhone.ActiveCfg = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhone.Build.0 = Release|iPhone
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -460,10 +428,9 @@ Global
{E71F3053-056C-4381-9638-048ED73BDFF6} = {D10CA4A9-F866-40E1-B658-F69051236C71}
{599E0201-420A-4C3E-A7BA-5349F72E0B15} = {D10CA4A9-F866-40E1-B658-F69051236C71}
{324BE76C-38FA-4F11-8BB1-95C7B3B1B545} = {D10CA4A9-F866-40E1-B658-F69051236C71}
+ {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A} = {D10CA4A9-F866-40E1-B658-F69051236C71}
{4085B0A5-12A9-4993-B8B8-4ACE72E62E39} = {8904C536-C67D-420F-9971-51B26574C3AA}
{8AE548D9-A567-4E97-995E-93EC7DB0FDE0} = {8904C536-C67D-420F-9971-51B26574C3AA}
- {F8C3F648-EA5A-4719-8005-85D1690B1655} = {D10CA4A9-F866-40E1-B658-F69051236C71}
- {8A3ECD75-3EC8-4CB3-B3A2-A73A724C279A} = {D10CA4A9-F866-40E1-B658-F69051236C71}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7D436EA3-8B7E-45D2-8D14-0730BD2E0410}
diff --git a/src/App/Models/AppOptions.cs b/src/App/Models/AppOptions.cs
index 7d7e2b22c..a28a76855 100644
--- a/src/App/Models/AppOptions.cs
+++ b/src/App/Models/AppOptions.cs
@@ -21,7 +21,6 @@ namespace Bit.App.Models
public string SaveCardCode { get; set; }
public bool IosExtension { get; set; }
public Tuple CreateSend { get; set; }
- public bool CopyInsteadOfShareAfterSaving { get; set; }
public void SetAllFrom(AppOptions o)
{
@@ -45,7 +44,6 @@ namespace Bit.App.Models
SaveCardCode = o.SaveCardCode;
IosExtension = o.IosExtension;
CreateSend = o.CreateSend;
- CopyInsteadOfShareAfterSaving = o.CopyInsteadOfShareAfterSaving;
}
}
}
diff --git a/src/App/Pages/Send/SendAddEditPage.xaml b/src/App/Pages/Send/SendAddEditPage.xaml
index 0c7524c81..9568a78d7 100644
--- a/src/App/Pages/Send/SendAddEditPage.xaml
+++ b/src/App/Pages/Send/SendAddEditPage.xaml
@@ -234,10 +234,9 @@
Margin="10,0,0,0" />
-
+
diff --git a/src/App/Pages/Send/SendAddEditPage.xaml.cs b/src/App/Pages/Send/SendAddEditPage.xaml.cs
index 97f755429..c58a04cae 100644
--- a/src/App/Pages/Send/SendAddEditPage.xaml.cs
+++ b/src/App/Pages/Send/SendAddEditPage.xaml.cs
@@ -7,9 +7,6 @@ using Bit.App.Utilities;
using Bit.Core.Abstractions;
using Bit.Core.Enums;
using Bit.Core.Utilities;
-#if !FDROID
-using Microsoft.AppCenter.Crashes;
-#endif
using Xamarin.Forms;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
@@ -25,9 +22,6 @@ namespace Bit.App.Pages
private AppOptions _appOptions;
private SendAddEditPageViewModel _vm;
- public Action OnClose { get; set; }
- public Action AfterSubmit { get; set; }
-
public SendAddEditPage(
AppOptions appOptions = null,
string sendId = null,
@@ -88,66 +82,42 @@ namespace Bit.App.Pages
protected override async void OnAppearing()
{
base.OnAppearing();
-
- try
+ if (!await AppHelpers.IsVaultTimeoutImmediateAsync())
{
- if (!await AppHelpers.IsVaultTimeoutImmediateAsync())
+ await _vaultTimeoutService.CheckVaultTimeoutAsync();
+ }
+ if (await _vaultTimeoutService.IsLockedAsync())
+ {
+ return;
+ }
+ await _vm.InitAsync();
+ _broadcasterService.Subscribe(nameof(SendAddEditPage), message =>
+ {
+ if (message.Command == "selectFileResult")
{
- await _vaultTimeoutService.CheckVaultTimeoutAsync();
+ Device.BeginInvokeOnMainThread(() =>
+ {
+ var data = message.Data as Tuple;
+ _vm.FileData = data.Item1;
+ _vm.FileName = data.Item2;
+ });
}
- if (await _vaultTimeoutService.IsLockedAsync())
+ });
+ await LoadOnAppearedAsync(_scrollView, true, async () =>
+ {
+ var success = await _vm.LoadAsync();
+ if (!success)
{
+ await Navigation.PopModalAsync();
return;
}
- await _vm.InitAsync();
- _broadcasterService.Subscribe(nameof(SendAddEditPage), message =>
+ await HandleCreateRequest();
+ if (!_vm.EditMode && string.IsNullOrWhiteSpace(_vm.Send?.Name))
{
- if (message.Command == "selectFileResult")
- {
- Device.BeginInvokeOnMainThread(() =>
- {
- var data = message.Data as Tuple;
- _vm.FileData = data.Item1;
- _vm.FileName = data.Item2;
- });
- }
- });
-
- await LoadOnAppearedAsync(_scrollView, true, async () =>
- {
- var success = await _vm.LoadAsync();
- if (!success)
- {
- await CloseAsync();
- return;
- }
- await HandleCreateRequest();
- if (!_vm.EditMode && string.IsNullOrWhiteSpace(_vm.Send?.Name))
- {
- RequestFocus(_nameEntry);
- }
- AdjustToolbar();
- });
- }
- catch (Exception ex)
- {
-#if !FDROID
- Crashes.TrackError(ex);
-#endif
- await CloseAsync();
- }
- }
-
- private async Task CloseAsync()
- {
- if (OnClose is null)
- {
- await Navigation.PopModalAsync();
- }
- else
- {
- OnClose();
- }
+ RequestFocus(_nameEntry);
+ }
+ AdjustToolbar();
+ });
}
protected override bool OnBackButtonPressed()
@@ -230,11 +200,7 @@ namespace Bit.App.Pages
{
if (DoOnce())
{
- var submitted = await _vm.SubmitAsync();
- if (submitted)
- {
- AfterSubmit?.Invoke();
- }
+ await _vm.SubmitAsync();
}
}
@@ -268,7 +234,7 @@ namespace Bit.App.Pages
{
if (await _vm.DeleteAsync())
{
- await CloseAsync();
+ await Navigation.PopModalAsync();
}
}
}
@@ -308,7 +274,7 @@ namespace Bit.App.Pages
{
if (await _vm.DeleteAsync())
{
- await CloseAsync();
+ await Navigation.PopModalAsync();
}
}
}
@@ -317,7 +283,7 @@ namespace Bit.App.Pages
{
if (DoOnce())
{
- await CloseAsync();
+ await Navigation.PopModalAsync();
}
}
@@ -340,7 +306,6 @@ namespace Bit.App.Pages
}
_vm.IsAddFromShare = true;
- _vm.CopyInsteadOfShareAfterSaving = _appOptions.CopyInsteadOfShareAfterSaving;
var name = _appOptions.CreateSend.Item2;
_vm.Send.Name = name;
diff --git a/src/App/Pages/Send/SendAddEditPageViewModel.cs b/src/App/Pages/Send/SendAddEditPageViewModel.cs
index b8a8b656b..73aea806d 100644
--- a/src/App/Pages/Send/SendAddEditPageViewModel.cs
+++ b/src/App/Pages/Send/SendAddEditPageViewModel.cs
@@ -9,9 +9,6 @@ using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.View;
using Bit.Core.Utilities;
-#if !FDROID
-using Microsoft.AppCenter.Crashes;
-#endif
using Xamarin.Essentials;
using Xamarin.Forms;
@@ -48,7 +45,6 @@ namespace Bit.App.Pages
};
private bool _disableHideEmail;
private bool _sendOptionsPolicyInEffect;
- private bool _copyInsteadOfShareAfterSaving;
public SendAddEditPageViewModel()
{
@@ -100,16 +96,6 @@ namespace Bit.App.Pages
public bool ShareOnSave { get; set; }
public bool DisableHideEmailControl { get; set; }
public bool IsAddFromShare { get; set; }
- public bool CopyInsteadOfShareAfterSaving
- {
- get => _copyInsteadOfShareAfterSaving;
- set
- {
- SetProperty(ref _copyInsteadOfShareAfterSaving, value);
- TriggerPropertyChanged(nameof(ShareOnSaveText));
- }
- }
- public string ShareOnSaveText => CopyInsteadOfShareAfterSaving ? AppResources.CopySendLinkOnSave : AppResources.ShareOnSave;
public List> TypeOptions { get; }
public List> DeletionTypeOptions { get; }
public List> ExpirationTypeOptions { get; }
@@ -410,36 +396,25 @@ namespace Bit.App.Pages
EditMode ? AppResources.SendUpdated : AppResources.NewSendCreated);
}
- if (!CopyInsteadOfShareAfterSaving)
+ if (IsAddFromShare && Device.RuntimePlatform == Device.Android)
{
- await CloseAsync();
+ _deviceActionService.CloseMainApp();
}
-
+ else
+ {
+ await Page.Navigation.PopModalAsync();
+ }
+
if (ShareOnSave)
{
var savedSend = await _sendService.GetAsync(sendId);
if (savedSend != null)
{
var savedSendView = await savedSend.DecryptAsync();
- if (CopyInsteadOfShareAfterSaving)
- {
- await AppHelpers.CopySendUrlAsync(savedSendView);
-
- // wait so that the user sees the message before the view gets dismissed
- await Task.Delay(1300);
- }
- else
- {
- await AppHelpers.ShareSendUrlAsync(savedSendView);
- }
+ await AppHelpers.ShareSendUrlAsync(savedSendView);
}
}
-
- if (CopyInsteadOfShareAfterSaving)
- {
- await CloseAsync();
- }
-
+
return true;
}
catch (ApiException e)
@@ -451,37 +426,9 @@ namespace Bit.App.Pages
AppResources.AnErrorHasOccurred);
}
}
- catch (Exception ex)
- {
- await _deviceActionService.HideLoadingAsync();
-#if !FDROID
- Crashes.TrackError(ex);
-#endif
- await _platformUtilsService.ShowDialogAsync(AppResources.AnErrorHasOccurred);
- }
return false;
}
- private async Task CloseAsync()
- {
- if (IsAddFromShare)
- {
- if (Device.RuntimePlatform == Device.Android)
- {
- _deviceActionService.CloseMainApp();
- return;
- }
-
- if (Page is SendAddEditPage sendPage && sendPage.OnClose != null)
- {
- sendPage.OnClose();
- return;
- }
- }
-
- await Page.Navigation.PopModalAsync();
- }
-
public async Task RemovePasswordAsync()
{
return await AppHelpers.RemoveSendPasswordAsync(SendId);
@@ -507,7 +454,14 @@ namespace Bit.App.Pages
if (!SendEnabled)
{
await _platformUtilsService.ShowDialogAsync(AppResources.SendDisabledWarning);
- await CloseAsync();
+ if (IsAddFromShare && Device.RuntimePlatform == Device.Android)
+ {
+ _deviceActionService.CloseMainApp();
+ }
+ else
+ {
+ await Page.Navigation.PopModalAsync();
+ }
return;
}
if (Send != null)
diff --git a/src/App/Resources/AppResources.Designer.cs b/src/App/Resources/AppResources.Designer.cs
index df1055089..e44d0e8e2 100644
--- a/src/App/Resources/AppResources.Designer.cs
+++ b/src/App/Resources/AppResources.Designer.cs
@@ -3724,11 +3724,5 @@ namespace Bit.App.Resources {
return ResourceManager.GetString("Sending", resourceCulture);
}
}
-
- public static string CopySendLinkOnSave {
- get {
- return ResourceManager.GetString("CopySendLinkOnSave", resourceCulture);
- }
- }
}
}
diff --git a/src/App/Resources/AppResources.resx b/src/App/Resources/AppResources.resx
index 46b9bd25a..2a17ee638 100644
--- a/src/App/Resources/AppResources.resx
+++ b/src/App/Resources/AppResources.resx
@@ -2090,16 +2090,10 @@
Invalid Verification Code.
-
- Request one-time password
-
Send Code
Sending
-
- Copy Send link on save
-
diff --git a/src/Core/Services/FileUploadService.cs b/src/Core/Services/FileUploadService.cs
index 28856ed96..75dab9cf3 100644
--- a/src/Core/Services/FileUploadService.cs
+++ b/src/Core/Services/FileUploadService.cs
@@ -64,7 +64,6 @@ namespace Bit.Core.Services {
var response = await _apiService.RenewFileUploadUrlAsync(uploadData.SendResponse.Id, uploadData.SendResponse.File.Id);
return response.Url;
};
-
await _azureFileUploadService.Upload(uploadData.Url, encryptedFileData, renewalCallback);
break;
default:
diff --git a/src/Core/Services/SendService.cs b/src/Core/Services/SendService.cs
index d0b535df8..b9d18d68e 100644
--- a/src/Core/Services/SendService.cs
+++ b/src/Core/Services/SendService.cs
@@ -219,12 +219,12 @@ namespace Bit.Core.Services
{
response = await LegacyServerSendFileUpload(request, send, encryptedFileData);
}
- catch
+ catch (Exception e)
{
if (response != default){
await _apiService.DeleteSendAsync(response.Id);
}
- throw;
+ throw e;
}
break;
default:
diff --git a/src/Core/Utilities/LazyResolve.cs b/src/Core/Utilities/LazyResolve.cs
deleted file mode 100644
index 3fedfecd0..000000000
--- a/src/Core/Utilities/LazyResolve.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-
-namespace Bit.Core.Utilities
-{
- public class LazyResolve : Lazy
- {
- public LazyResolve(string containerKey)
- : base(() => ServiceContainer.Resolve(containerKey))
- {
- }
- }
-}
diff --git a/src/Core/Utilities/TaskExtensions.cs b/src/Core/Utilities/TaskExtensions.cs
deleted file mode 100644
index d0af8a87f..000000000
--- a/src/Core/Utilities/TaskExtensions.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using System.Threading.Tasks;
-
-namespace Bit.Core.Utilities
-{
- public static class TaskExtensions
- {
- ///
- /// Fires a task and ignores any exception.
- /// See http://stackoverflow.com/a/22864616/344182
- ///
- /// The task to be forgotten.
- /// Action to be called on exception.
- public static async void FireAndForget(this Task task, Action onException = null)
- {
- try
- {
- await task.ConfigureAwait(false);
- }
- catch (Exception ex)
- {
- onException?.Invoke(ex);
- // TODO: Add app center exception handling in here, but we have to check whether we can add the AppCenter package to Core
- }
- }
- }
-}
diff --git a/src/iOS.Autofill/iOS.Autofill.csproj b/src/iOS.Autofill/iOS.Autofill.csproj
index 655f4c600..c45a673e1 100644
--- a/src/iOS.Autofill/iOS.Autofill.csproj
+++ b/src/iOS.Autofill/iOS.Autofill.csproj
@@ -41,7 +41,7 @@
false
Entitlements.plist
NSUrlSessionHandler
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
iPhone Distribution
Dist: Autofill
@@ -79,7 +79,7 @@
Full
NSUrlSessionHandler
true
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
Dist: Autofill
@@ -93,7 +93,7 @@
false
prompt
MinimumRecommendedRules.ruleset
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
NSUrlSessionHandler
Full
@@ -101,7 +101,6 @@
iPhone Distribution
Entitlements.plist
Dist: Autofill
- x86_64
bin\iPhone\AppStore\
@@ -112,7 +111,7 @@
prompt
MinimumRecommendedRules.ruleset
Full
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
ARM64
10.2
@@ -128,7 +127,7 @@
false
prompt
MinimumRecommendedRules.ruleset
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
Full
NSUrlSessionHandler
@@ -136,7 +135,6 @@
iPhone Distribution
Adhoc: Autofill
Entitlements.plist
- x86_64
bin\iPhone\Ad-Hoc\
@@ -149,7 +147,7 @@
ARM64
NSUrlSessionHandler
Full
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
iPhone Distribution
Entitlements.plist
diff --git a/src/iOS.Core/Constants.cs b/src/iOS.Core/Constants.cs
index 402988dd7..54d769d87 100644
--- a/src/iOS.Core/Constants.cs
+++ b/src/iOS.Core/Constants.cs
@@ -29,7 +29,6 @@
public const string UTTypeAppExtensionFillBrowserAction = "org.appextension.fill-browser-action";
public const string UTTypeAppExtensionSetup = "com.8bit.bitwarden.extension-setup";
public const string UTTypeAppExtensionUrl = "public.url";
- public const string UTTypeAppExtensionImage = "public.image";
public const string AutofillNeedsIdentityReplacementKey = "autofillNeedsIdentityReplacement";
}
diff --git a/src/iOS.Core/Utilities/iOSCoreHelpers.cs b/src/iOS.Core/Utilities/iOSCoreHelpers.cs
index 4837b530a..8238a659d 100644
--- a/src/iOS.Core/Utilities/iOSCoreHelpers.cs
+++ b/src/iOS.Core/Utilities/iOSCoreHelpers.cs
@@ -108,7 +108,7 @@ namespace Bit.iOS.Core.Utilities
NSRunLoop.Main.BeginInvokeOnMainThread(async () =>
{
var result = await deviceActionService.DisplayAlertAsync(details.Title, details.Text,
- details.CancelText, confirmText);
+ details.CancelText, details.ConfirmText);
var confirmed = result == details.ConfirmText;
messagingService.Send("showDialogResolve", new Tuple(details.DialogId, confirmed));
});
diff --git a/src/iOS.Extension/MainInterface.storyboard b/src/iOS.Extension/MainInterface.storyboard
index 6db5c12b2..ce0102833 100644
--- a/src/iOS.Extension/MainInterface.storyboard
+++ b/src/iOS.Extension/MainInterface.storyboard
@@ -1,8 +1,7 @@
-
-
-
+
+
-
+
@@ -15,11 +14,11 @@
-
+
-
+
@@ -28,11 +27,11 @@
-
+
@@ -44,7 +43,7 @@
-
+
@@ -61,7 +60,7 @@
-
+
@@ -78,7 +77,7 @@
-
+
@@ -94,9 +93,8 @@
-
+
-
@@ -131,14 +129,14 @@
-
+
-
+
-
+
-
-
-
-
+
\ No newline at end of file
diff --git a/src/iOS.Extension/iOS.Extension.csproj b/src/iOS.Extension/iOS.Extension.csproj
index 806fd4de7..973e94876 100644
--- a/src/iOS.Extension/iOS.Extension.csproj
+++ b/src/iOS.Extension/iOS.Extension.csproj
@@ -39,7 +39,7 @@
false
Entitlements.plist
NSUrlSessionHandler
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
9.3
iPhone Distribution
@@ -74,7 +74,7 @@
ARM64
false
iPhone Distribution
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
NSUrlSessionHandler
Full
@@ -93,7 +93,7 @@
MinimumRecommendedRules.ruleset
Full
NSUrlSessionHandler
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
9.3
iPhone Distribution
@@ -108,7 +108,7 @@
false
prompt
MinimumRecommendedRules.ruleset
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
NSUrlSessionHandler
ARM64
@@ -126,7 +126,7 @@
false
prompt
MinimumRecommendedRules.ruleset
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
NSUrlSessionHandler
Full
@@ -146,7 +146,7 @@
ARM64
Full
NSUrlSessionHandler
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
+ --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB
true
iPhone Distribution
Automatic:AdHoc
diff --git a/src/iOS.ShareExtension/Entitlements.plist b/src/iOS.ShareExtension/Entitlements.plist
deleted file mode 100644
index b20900dcc..000000000
--- a/src/iOS.ShareExtension/Entitlements.plist
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- com.apple.security.application-groups
-
- group.com.8bit.bitwarden
-
- keychain-access-groups
-
- $(AppIdentifierPrefix)com.8bit.bitwarden
-
-
-
diff --git a/src/iOS.ShareExtension/Info.plist b/src/iOS.ShareExtension/Info.plist
deleted file mode 100644
index b72397a04..000000000
--- a/src/iOS.ShareExtension/Info.plist
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
- CFBundleDisplayName
- Bitwarden Share
- CFBundleName
- Bitwarden Share Extension
- CFBundleIdentifier
- com.8bit.bitwarden.share-extension
- CFBundleDevelopmentRegion
- en
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- XPC!
- CFBundleShortVersionString
- 2.14.2
- CFBundleVersion
- 1
- MinimumOSVersion
- 10.0
- NSExtension
-
- NSExtensionMainStoryboard
- MainInterface
- NSExtensionPointIdentifier
- com.apple.share-services
- NSExtensionAttributes
-
- NSExtensionActivationRule
-
- NSExtensionActivationSupportsFileWithMaxCount
- 1
- NSExtensionActivationSupportsText
-
- NSExtensionActivationSupportsImageWithMaxCount
- 1
-
-
-
- CFBundleLocalizations
-
- en
- es
- zh-Hans
- zh-Hant
- pt-PT
- pt-BR
- sv
- sk
- it
- fi
- fr
- ro
- id
- hr
- hu
- nl
- tr
- uk
- de
- dk
- cz
- nb
- ja
- et
- vi
- pl
- ko
- fa
- ru
- be
- bg
- ca
- cs
- el
- th
-
- UIDeviceFamily
-
- 1
- 2
-
- UISupportedInterfaceOrientations
-
- UIAppFonts
-
- FontAwesome.ttf
- MaterialIcons_Regular.ttf
-
- CADisableMinimumFrameDurationOnPhone
-
- UIRequiredDeviceCapabilities
-
- arm64
-
-
- ITSAppUsesNonExemptEncryption
-
- ITSEncryptionExportComplianceCode
- ecf076d3-4824-4d7b-b716-2a9a47d7d296
-
-
diff --git a/src/iOS.ShareExtension/LoadingViewController.cs b/src/iOS.ShareExtension/LoadingViewController.cs
deleted file mode 100644
index 03e5eb85a..000000000
--- a/src/iOS.ShareExtension/LoadingViewController.cs
+++ /dev/null
@@ -1,428 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Linq;
-using System.Threading.Tasks;
-using AuthenticationServices;
-using Bit.App.Abstractions;
-using Bit.App.Models;
-using Bit.App.Pages;
-using Bit.App.Utilities;
-using Bit.Core.Abstractions;
-using Bit.Core.Enums;
-using Bit.Core.Utilities;
-using Bit.iOS.Core;
-using Bit.iOS.Core.Controllers;
-using Bit.iOS.Core.Utilities;
-using Bit.iOS.Core.Views;
-using Bit.iOS.ShareExtension.Models;
-using CoreNFC;
-using Foundation;
-using Microsoft.AppCenter.Crashes;
-using MobileCoreServices;
-using UIKit;
-using Xamarin.Forms;
-
-namespace Bit.iOS.ShareExtension
-{
- public partial class LoadingViewController : ExtendedUIViewController
- {
- private Context _context = new Context();
- private bool _initedAppCenter;
- private NFCNdefReaderSession _nfcSession = null;
- private Core.NFCReaderDelegate _nfcDelegate = null;
-
- readonly LazyResolve _userService = new LazyResolve("userService");
- readonly LazyResolve _vaultTimeoutService = new LazyResolve("vaultTimeoutService");
- readonly LazyResolve _deviceActionService = new LazyResolve("deviceActionService");
- readonly LazyResolve _eventService = new LazyResolve("eventService");
-
- public LoadingViewController(IntPtr handle)
- : base(handle)
- { }
-
- public override void ViewDidLoad()
- {
- InitApp();
-
- base.ViewDidLoad();
-
- Logo.Image = new UIImage(ThemeHelpers.LightTheme ? "logo.png" : "logo_white.png");
- View.BackgroundColor = ThemeHelpers.SplashBackgroundColor;
- _context.ExtensionContext = ExtensionContext;
-
- foreach (var item in ExtensionContext.InputItems)
- {
- var processed = false;
- foreach (var itemProvider in item.Attachments)
- {
- if (itemProvider.HasItemConformingTo(UTType.PlainText))
- {
- _context.ProviderType = UTType.PlainText;
-
- processed = true;
- break;
- }
- else if (itemProvider.HasItemConformingTo(UTType.Data))
- {
- _context.ProviderType = UTType.Data;
-
- processed = true;
- break;
- }
- }
- if (processed)
- {
- break;
- }
- }
- }
-
- public override async void ViewDidAppear(bool animated)
- {
- base.ViewDidAppear(animated);
-
- try
- {
- if (!await IsAuthed())
- {
- LaunchHomePage();
- return;
- }
- else if (await IsLocked())
- {
- PerformSegue("lockPasswordSegue", this);
- }
- else
- {
- ContinueOnAsync().FireAndForget(ex => Crashes.TrackError(ex));
- }
- }
- catch (Exception ex)
- {
- Crashes.TrackError(ex);
- }
- }
-
- public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)
- {
- if (segue.DestinationViewController is UINavigationController navController
- &&
- navController.TopViewController is LockPasswordViewController passwordViewController)
- {
- passwordViewController.LoadingController = this;
- segue.DestinationViewController.PresentationController.Delegate =
- new CustomPresentationControllerDelegate(passwordViewController.DismissModalAction);
- }
- }
-
- public void DismissLockAndContinue()
- {
- Debug.WriteLine("BW Log, Dismissing lock controller.");
- DismissViewController(false, () => ContinueOnAsync().FireAndForget(ex => Crashes.TrackError(ex)));
- }
-
- private async Task ContinueOnAsync()
- {
- Tuple createSend = null;
-
- if (_context.ProviderType == UTType.Data)
- {
- var (filename, fileBytes) = await LoadDataBytesAsync();
- createSend = new Tuple(SendType.File, filename, fileBytes, null);
- }
- else if (_context.ProviderType == UTType.PlainText)
- {
- createSend = new Tuple(SendType.Text, null, null, LoadText());
- }
-
- var appOptions = new AppOptions
- {
- IosExtension = true,
- CreateSend = createSend,
- CopyInsteadOfShareAfterSaving = true
- };
- var sendAddEditPage = new SendAddEditPage(appOptions)
- {
- OnClose = () => CompleteRequest(),
- AfterSubmit = () => CompleteRequest()
- };
-
- var app = new App.App(appOptions);
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(sendAddEditPage);
-
- var navigationPage = new NavigationPage(sendAddEditPage);
- var sendAddEditController = navigationPage.CreateViewController();
- sendAddEditController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(sendAddEditController, true, null);
- }
-
- private async Task<(string, byte[])> LoadDataBytesAsync()
- {
- var itemProvider = ExtensionContext?.InputItems.FirstOrDefault()?.Attachments?.FirstOrDefault();
- if (itemProvider is null || !itemProvider.HasItemConformingTo(UTType.Data))
- return default;
-
- var item = await itemProvider.LoadItemAsync(UTType.Data, null);
- if (item is NSUrl urlItem)
- {
- var filename = urlItem?.AbsoluteUrl?.LastPathComponent;
-
- var data = NSData.FromUrl(urlItem);
- var stream = NSInputStream.FromData(data);
- var bytes = new byte[data.Length];
- try
- {
- stream.Open();
- stream.Read(bytes, data.Length);
- }
- finally
- {
- stream?.Close();
- }
-
- return (filename, bytes);
- }
-
- return default;
- }
-
- private string LoadText()
- {
- return ExtensionContext?.InputItems
- .FirstOrDefault()
- ?.AttributedContentText?.Value;
- }
-
- public void CompleteRequest()
- {
- NSRunLoop.Main.BeginInvokeOnMainThread(() =>
- {
- ServiceContainer.Reset();
- ExtensionContext?.CompleteRequest(new NSExtensionItem[0], null);
- });
- }
-
- private void InitApp()
- {
- // Init Xamarin Forms
- Forms.Init();
-
- if (ServiceContainer.RegisteredServices.Count > 0)
- {
- ServiceContainer.Reset();
- }
- iOSCoreHelpers.RegisterLocalServices();
- var messagingService = ServiceContainer.Resolve("messagingService");
- ServiceContainer.Init(_deviceActionService.Value.DeviceUserAgent,
- Bit.Core.Constants.iOSExtensionClearCiphersCacheKey, Bit.Core.Constants.iOSAllClearCipherCacheKeys);
- if (!_initedAppCenter)
- {
- iOSCoreHelpers.RegisterAppCenter();
- _initedAppCenter = true;
- }
- iOSCoreHelpers.Bootstrap();
-
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
-
- iOSCoreHelpers.AppearanceAdjustments();
- _nfcDelegate = new NFCReaderDelegate((success, message) =>
- messagingService.Send("gotYubiKeyOTP", message));
- iOSCoreHelpers.SubscribeBroadcastReceiver(this, _nfcSession, _nfcDelegate);
- }
-
- private Task IsLocked()
- {
- return _vaultTimeoutService.Value.IsLockedAsync();
- }
-
- private Task IsAuthed()
- {
- return _userService.Value.IsAuthenticatedAsync();
- }
-
- private void LogoutIfAuthed()
- {
- NSRunLoop.Main.BeginInvokeOnMainThread(async () =>
- {
- if (await IsAuthed())
- {
- await AppHelpers.LogOutAsync();
- if (_deviceActionService.Value.SystemMajorVersion() >= 12)
- {
- await ASCredentialIdentityStore.SharedStore?.RemoveAllCredentialIdentitiesAsync();
- }
- }
- });
- }
-
- private void LaunchHomePage()
- {
- var homePage = new HomePage();
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(homePage);
- if (homePage.BindingContext is HomeViewModel vm)
- {
- vm.StartLoginAction = () => DismissViewController(false, () => LaunchLoginFlow());
- vm.StartRegisterAction = () => DismissViewController(false, () => LaunchRegisterFlow());
- vm.StartSsoLoginAction = () => DismissViewController(false, () => LaunchLoginSsoFlow());
- vm.StartEnvironmentAction = () => DismissViewController(false, () => LaunchEnvironmentFlow());
- vm.CloseAction = () => CompleteRequest();
- }
-
- var navigationPage = new NavigationPage(homePage);
- var loginController = navigationPage.CreateViewController();
- loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(loginController, true, null);
-
- LogoutIfAuthed();
- }
-
- private void LaunchEnvironmentFlow()
- {
- var environmentPage = new EnvironmentPage();
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(environmentPage);
- if (environmentPage.BindingContext is EnvironmentPageViewModel vm)
- {
- vm.SubmitSuccessAction = () => DismissViewController(false, () => LaunchHomePage());
- vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage());
- }
-
- var navigationPage = new NavigationPage(environmentPage);
- var loginController = navigationPage.CreateViewController();
- loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(loginController, true, null);
- }
-
- private void LaunchRegisterFlow()
- {
- var registerPage = new RegisterPage(null);
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(registerPage);
- if (registerPage.BindingContext is RegisterPageViewModel vm)
- {
- vm.RegistrationSuccess = () => DismissViewController(false, () => LaunchLoginFlow(vm.Email));
- vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage());
- }
-
- var navigationPage = new NavigationPage(registerPage);
- var loginController = navigationPage.CreateViewController();
- loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(loginController, true, null);
- }
-
- private void LaunchLoginFlow(string email = null)
- {
- var loginPage = new LoginPage(email);
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(loginPage);
- if (loginPage.BindingContext is LoginPageViewModel vm)
- {
- vm.StartTwoFactorAction = () => DismissViewController(false, () => LaunchTwoFactorFlow(false));
- vm.UpdateTempPasswordAction = () => DismissViewController(false, () => LaunchUpdateTempPasswordFlow());
- vm.LogInSuccessAction = () => DismissLockAndContinue();
- vm.CloseAction = () => CompleteRequest();
- }
-
- var navigationPage = new NavigationPage(loginPage);
- var loginController = navigationPage.CreateViewController();
- loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(loginController, true, null);
-
- LogoutIfAuthed();
- }
-
- private void LaunchLoginSsoFlow()
- {
- var loginPage = new LoginSsoPage();
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(loginPage);
- if (loginPage.BindingContext is LoginSsoPageViewModel vm)
- {
- vm.StartTwoFactorAction = () => DismissViewController(false, () => LaunchTwoFactorFlow(true));
- vm.StartSetPasswordAction = () => DismissViewController(false, () => LaunchSetPasswordFlow());
- vm.UpdateTempPasswordAction = () => DismissViewController(false, () => LaunchUpdateTempPasswordFlow());
- vm.SsoAuthSuccessAction = () => DismissLockAndContinue();
- vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage());
- }
-
- var navigationPage = new NavigationPage(loginPage);
- var loginController = navigationPage.CreateViewController();
- loginController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(loginController, true, null);
-
- LogoutIfAuthed();
- }
-
- private void LaunchTwoFactorFlow(bool authingWithSso)
- {
- var twoFactorPage = new TwoFactorPage();
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(twoFactorPage);
- if (twoFactorPage.BindingContext is TwoFactorPageViewModel vm)
- {
- vm.TwoFactorAuthSuccessAction = () => DismissLockAndContinue();
- vm.StartSetPasswordAction = () => DismissViewController(false, () => LaunchSetPasswordFlow());
- if (authingWithSso)
- {
- vm.CloseAction = () => DismissViewController(false, () => LaunchLoginSsoFlow());
- }
- else
- {
- vm.CloseAction = () => DismissViewController(false, () => LaunchLoginFlow());
- }
- vm.UpdateTempPasswordAction = () => DismissViewController(false, () => LaunchUpdateTempPasswordFlow());
- }
-
- var navigationPage = new NavigationPage(twoFactorPage);
- var twoFactorController = navigationPage.CreateViewController();
- twoFactorController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(twoFactorController, true, null);
- }
-
- private void LaunchSetPasswordFlow()
- {
- var setPasswordPage = new SetPasswordPage();
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(setPasswordPage);
- if (setPasswordPage.BindingContext is SetPasswordPageViewModel vm)
- {
- vm.UpdateTempPasswordAction = () => DismissViewController(false, () => LaunchUpdateTempPasswordFlow());
- vm.SetPasswordSuccessAction = () => DismissLockAndContinue();
- vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage());
- }
-
- var navigationPage = new NavigationPage(setPasswordPage);
- var setPasswordController = navigationPage.CreateViewController();
- setPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(setPasswordController, true, null);
- }
-
- private void LaunchUpdateTempPasswordFlow()
- {
- var updateTempPasswordPage = new UpdateTempPasswordPage();
- var app = new App.App(new AppOptions { IosExtension = true });
- ThemeManager.SetTheme(false, app.Resources);
- ThemeManager.ApplyResourcesToPage(updateTempPasswordPage);
- if (updateTempPasswordPage.BindingContext is UpdateTempPasswordPageViewModel vm)
- {
- vm.UpdateTempPasswordSuccessAction = () => DismissViewController(false, () => LaunchHomePage());
- vm.LogOutAction = () => DismissViewController(false, () => LaunchHomePage());
- }
-
- var navigationPage = new NavigationPage(updateTempPasswordPage);
- var updateTempPasswordController = navigationPage.CreateViewController();
- updateTempPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
- PresentViewController(updateTempPasswordController, true, null);
- }
- }
-}
diff --git a/src/iOS.ShareExtension/LoadingViewController.designer.cs b/src/iOS.ShareExtension/LoadingViewController.designer.cs
deleted file mode 100644
index ddfc2c077..000000000
--- a/src/iOS.ShareExtension/LoadingViewController.designer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio to store outlets and
-// actions made in the UI designer. If it is removed, they will be lost.
-// Manual changes to this file may not be handled correctly.
-//
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Bit.iOS.ShareExtension
-{
- [Register ("LoadingViewController")]
- partial class LoadingViewController
- {
- [Outlet]
- UIKit.UIImageView Logo { get; set; }
-
- void ReleaseDesignerOutlets ()
- {
- if (Logo != null) {
- Logo.Dispose ();
- Logo = null;
- }
- }
- }
-}
diff --git a/src/iOS.ShareExtension/LockPasswordViewController.cs b/src/iOS.ShareExtension/LockPasswordViewController.cs
deleted file mode 100644
index 9ac9cfc36..000000000
--- a/src/iOS.ShareExtension/LockPasswordViewController.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using Bit.iOS.Core.Utilities;
-using System;
-using UIKit;
-
-namespace Bit.iOS.ShareExtension
-{
- public partial class LockPasswordViewController : Core.Controllers.LockPasswordViewController
- {
- public LockPasswordViewController(IntPtr handle)
- : base(handle)
- {
- BiometricIntegrityKey = Bit.Core.Constants.iOSExtensionBiometricIntegrityKey;
- DismissModalAction = Cancel;
- }
-
- public LoadingViewController LoadingController { get; set; }
- public override UINavigationItem BaseNavItem => _navItem;
- public override UIBarButtonItem BaseCancelButton => _cancelButton;
- public override UIBarButtonItem BaseSubmitButton => _submitButton;
- public override Action Success => () => LoadingController.DismissLockAndContinue();
- public override Action Cancel => () => LoadingController.CompleteRequest();
-
- public override void ViewDidLoad()
- {
- base.ViewDidLoad();
- _cancelButton.TintColor = ThemeHelpers.NavBarTextColor;
- _submitButton.TintColor = ThemeHelpers.NavBarTextColor;
- }
-
- partial void SubmitButton_Activated(UIBarButtonItem sender)
- {
- var task = CheckPasswordAsync();
- }
-
- partial void CancelButton_Activated(UIBarButtonItem sender)
- {
- Cancel();
- }
- }
-}
diff --git a/src/iOS.ShareExtension/LockPasswordViewController.designer.cs b/src/iOS.ShareExtension/LockPasswordViewController.designer.cs
deleted file mode 100644
index b92a198b0..000000000
--- a/src/iOS.ShareExtension/LockPasswordViewController.designer.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio to store outlets and
-// actions made in the UI designer. If it is removed, they will be lost.
-// Manual changes to this file may not be handled correctly.
-//
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Bit.iOS.ShareExtension
-{
- [Register ("LockPasswordViewController")]
- partial class LockPasswordViewController
- {
- [Outlet]
- UIKit.UIBarButtonItem _cancelButton { get; set; }
-
- [Outlet]
- UIKit.UITableView _mainTableView { get; set; }
-
- [Outlet]
- UIKit.UINavigationItem _navItem { get; set; }
-
- [Outlet]
- UIKit.UIBarButtonItem _submitButton { get; set; }
-
- [Action ("CancelButton_Activated:")]
- partial void CancelButton_Activated (UIKit.UIBarButtonItem sender);
-
- [Action ("SubmitButton_Activated:")]
- partial void SubmitButton_Activated (UIKit.UIBarButtonItem sender);
-
- void ReleaseDesignerOutlets ()
- {
- if (_cancelButton != null) {
- _cancelButton.Dispose ();
- _cancelButton = null;
- }
-
- if (_mainTableView != null) {
- _mainTableView.Dispose ();
- _mainTableView = null;
- }
-
- if (_navItem != null) {
- _navItem.Dispose ();
- _navItem = null;
- }
-
- if (_submitButton != null) {
- _submitButton.Dispose ();
- _submitButton = null;
- }
- }
- }
-}
diff --git a/src/iOS.ShareExtension/MainInterface.storyboard b/src/iOS.ShareExtension/MainInterface.storyboard
deleted file mode 100644
index 98a8e1346..000000000
--- a/src/iOS.ShareExtension/MainInterface.storyboard
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/iOS.ShareExtension/Models/Context.cs b/src/iOS.ShareExtension/Models/Context.cs
deleted file mode 100644
index 22bd9e257..000000000
--- a/src/iOS.ShareExtension/Models/Context.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using Foundation;
-using Bit.iOS.Core.Models;
-
-namespace Bit.iOS.ShareExtension.Models
-{
- public class Context : AppExtensionContext
- {
- public NSExtensionContext ExtensionContext { get; set; }
- public string ProviderType { get; set; }
- public string LoginTitle { get; set; }
- public string Username { get; set; }
- public string Password { get; set; }
- public string OldPassword { get; set; }
- public string Notes { get; set; }
- public PageDetails Details { get; set; }
- }
-}
diff --git a/src/iOS.ShareExtension/iOS.ShareExtension.csproj b/src/iOS.ShareExtension/iOS.ShareExtension.csproj
deleted file mode 100644
index d9159c5dd..000000000
--- a/src/iOS.ShareExtension/iOS.ShareExtension.csproj
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-
- Debug
- iPhoneSimulator
- {F8C3F648-EA5A-4719-8005-85D1690B1655}
- {EE2C853D-36AF-4FDB-B1AD-8E90477E2198};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Bit.iOS.ShareExtension
- iOS.ShareExtension
- Resources
-
-
- true
- full
- false
- bin\iPhoneSimulator\Debug
- DEBUG;
- prompt
- 4
- iPhone Developer
- true
- true
- true
- 52107
- None
- x86_64
- NSUrlSessionHandler
- false
-
- Entitlements.plist
- BitwardeniOSShareExtension
- --nodevcodeshare --http-message-handler=NSUrlSessionHandler
-
-
- pdbonly
- true
- bin\iPhone\Release
-
- prompt
- 4
- iPhone Developer
- true
- true
- Entitlements.plist
- Full
- ARM64
- NSUrlSessionHandler
-
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
-
-
- pdbonly
- true
- bin\iPhoneSimulator\Release
-
- prompt
- 4
- iPhone Developer
- true
- None
- x86_64
- NSUrlSessionHandler
-
- BitwardeniOSShareExtension
- --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension
-
-
- true
- full
- false
- bin\iPhone\Debug
- DEBUG;
- prompt
- 4
- iPhone Developer
- true
- true
- true
- true
- true
- Entitlements.plist
- 22866
- None
- ARM64
- NSUrlSessionHandler
-
- --nodevcodeshare --http-message-handler=NSUrlSessionHandler
-
-
- 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
- true
- NSUrlSessionHandler
- Full
- 9.3
- iPhone Distribution
- Entitlements.plist
- Dist: Autofill
- BitwardeniOSShareExtension
- i386
-
-
- 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
- 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
- true
- Full
- NSUrlSessionHandler
- 9.3
- iPhone Distribution
- Adhoc: Autofill
- Entitlements.plist
- BitwardeniOSShareExtension
- i386
-
-
- 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
- true
- iPhone Distribution
- Entitlements.plist
- Automatic:AdHoc
-
-
-
-
-
-
-
-
-
-
-
- 4.4.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LoadingViewController.cs
-
-
-
-
- LockPasswordViewController.cs
-
-
-
-
- App
-
-
- iOS.Core
-
-
- Core
-
-
-
-
- Resources\logo_white%403x.png
-
-
- Resources\logo_white%402x.png
-
-
- Resources\logo_white.png
-
-
- Resources\logo%403x.png
-
-
- Resources\logo%402x.png
-
-
- Resources\logo.png
-
-
- Resources\FontAwesome.ttf
-
-
- Resources\MaterialIcons_Regular.ttf
-
-
-
-
\ No newline at end of file
diff --git a/src/iOS/Entitlements.plist b/src/iOS/Entitlements.plist
index e06653dba..6e6f519c6 100644
--- a/src/iOS/Entitlements.plist
+++ b/src/iOS/Entitlements.plist
@@ -1,4 +1,4 @@
-
+
diff --git a/src/iOS/iOS.csproj b/src/iOS/iOS.csproj
index 4e8ea8f74..ecda6a2d0 100644
--- a/src/iOS/iOS.csproj
+++ b/src/iOS/iOS.csproj
@@ -41,7 +41,7 @@
Full
x86_64
false
- --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension
+ --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper
true
Entitlements.plist
@@ -74,7 +74,7 @@
iPhone Developer
Entitlements.plist
Full
- --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension
+ --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper
true
@@ -89,7 +89,7 @@
iPhone Distribution
Entitlements.plist
Full
- --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension
+ --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper
true
Automatic:AdHoc
@@ -104,7 +104,7 @@
Automatic:AppStore
iPhone Distribution
Entitlements.plist
- --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension
+ --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper
true
Full
@@ -118,7 +118,6 @@
MinimumRecommendedRules.ruleset
--nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper
true
- SdkOnly
bin\iPhone\FDroid\
@@ -128,8 +127,6 @@
false
prompt
MinimumRecommendedRules.ruleset
- SdkOnly
- ARMv7
@@ -197,11 +194,6 @@
true
false
-
- true
- {F8C3F648-EA5A-4719-8005-85D1690B1655}
- iOS.ShareExtension
-