diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index d9d8d2d..3dcb9b9 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -1,7 +1,13 @@ -# Breaking Changes +# Breaking Changes + +## 3.0.0 + +* Added support for .NET 10. +* Dropped support for .NET 7. +* Dropped support for Xamarin Android, Xamarin iOS and UWP. ## 2.0.0 * Added support for .NET 7. * Dropped support for .NET 6. -* Renamed method parameters of `IBiometryService` from `keyName` to `key` and from `keyValue` to `value`. \ No newline at end of file +* Renamed method parameters of `IBiometryService` from `keyName` to `key` and from `keyValue` to `value`. diff --git a/BiometryService.sln b/BiometryService.sln deleted file mode 100644 index 055255c..0000000 --- a/BiometryService.sln +++ /dev/null @@ -1,379 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31912.275 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{E22802DE-B587-470A-B242-86A8E362FD4F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Library", "Library", "{986F4BC6-3A85-44B3-9365-E9D36E3D0215}" -EndProject -Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "BiometryService.SampleApp.Uno.Shared", "samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.shproj", "{6279C845-92F8-4333-AB99-3D213163593C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BiometryService.SampleApp.Uno.WinUI", "samples\BiometryService.SampleApp.Uno.WinUI\BiometryService.SampleApp.Uno.WinUI.csproj", "{853384DC-0E01-4DC1-BA61-A06F3A0D75ED}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BiometryService.SampleApp.Uno.UWP", "samples\BiometryService.SampleApp.Uno.UWP\BiometryService.SampleApp.Uno.UWP.csproj", "{91E2F2A0-0862-4291-B756-7A14DF3F277A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BiometryService.SampleApp.Uno.Mobile", "samples\BiometryService.SampleApp.Uno.Mobile\BiometryService.SampleApp.Uno.Mobile.csproj", "{8A268367-6414-4FBB-AF2F-A39822DA4EE0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BiometryService.SampleApp.Uno.iOS", "samples\BiometryService.SampleApp.Uno.iOS\BiometryService.SampleApp.Uno.iOS.csproj", "{2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BiometryService.SampleApp.Uno.Droid", "samples\BiometryService.SampleApp.Uno.Droid\BiometryService.SampleApp.Uno.Droid.csproj", "{8DE2A70F-51EF-4023-96C5-F51B4AE6B882}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BiometryService.Abstractions", "src\BiometryService.Abstractions\BiometryService.Abstractions.csproj", "{47B666F9-B058-4D8F-9332-5DC1E35F7EAE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BiometryService", "src\BiometryService\BiometryService.csproj", "{5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|ARM = Debug|ARM - Debug|ARM64 = Debug|ARM64 - Debug|iOS = Debug|iOS - Debug|iPhone = Debug|iPhone - Debug|iPhoneSimulator = Debug|iPhoneSimulator - Debug|NuGet = Debug|NuGet - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|ARM = Release|ARM - Release|ARM64 = Release|ARM64 - Release|iOS = Release|iOS - Release|iPhone = Release|iPhone - Release|iPhoneSimulator = Release|iPhoneSimulator - Release|NuGet = Release|NuGet - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|Any CPU.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|Any CPU.Build.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|Any CPU.Deploy.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|ARM.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|ARM.Build.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|ARM.Deploy.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|ARM64.ActiveCfg = Debug|arm64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|ARM64.Build.0 = Debug|arm64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|ARM64.Deploy.0 = Debug|arm64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iOS.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iOS.Build.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iOS.Deploy.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iPhone.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iPhone.Build.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iPhone.Deploy.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iPhoneSimulator.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iPhoneSimulator.Build.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|iPhoneSimulator.Deploy.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|NuGet.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|x64.ActiveCfg = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|x64.Build.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|x64.Deploy.0 = Debug|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|x86.ActiveCfg = Debug|x86 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|x86.Build.0 = Debug|x86 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Debug|x86.Deploy.0 = Debug|x86 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|Any CPU.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|Any CPU.Build.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|Any CPU.Deploy.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|ARM.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|ARM.Build.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|ARM.Deploy.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|ARM64.ActiveCfg = Release|arm64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|ARM64.Build.0 = Release|arm64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|ARM64.Deploy.0 = Release|arm64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iOS.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iOS.Build.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iOS.Deploy.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iPhone.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iPhone.Build.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iPhone.Deploy.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iPhoneSimulator.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iPhoneSimulator.Build.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|iPhoneSimulator.Deploy.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|NuGet.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|x64.ActiveCfg = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|x64.Build.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|x64.Deploy.0 = Release|x64 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|x86.ActiveCfg = Release|x86 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|x86.Build.0 = Release|x86 - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED}.Release|x86.Deploy.0 = Release|x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|Any CPU.ActiveCfg = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|Any CPU.Build.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|Any CPU.Deploy.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|ARM.ActiveCfg = Debug|ARM - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|ARM.Build.0 = Debug|ARM - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|ARM.Deploy.0 = Debug|ARM - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|ARM64.Build.0 = Debug|ARM64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iOS.ActiveCfg = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iOS.Build.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iOS.Deploy.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iPhone.ActiveCfg = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iPhone.Build.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iPhone.Deploy.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iPhoneSimulator.ActiveCfg = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iPhoneSimulator.Build.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|iPhoneSimulator.Deploy.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|NuGet.ActiveCfg = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|x64.ActiveCfg = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|x64.Build.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|x64.Deploy.0 = Debug|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|x86.ActiveCfg = Debug|x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|x86.Build.0 = Debug|x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Debug|x86.Deploy.0 = Debug|x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|Any CPU.ActiveCfg = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|Any CPU.Build.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|Any CPU.Deploy.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|ARM.ActiveCfg = Release|ARM - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|ARM.Build.0 = Release|ARM - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|ARM.Deploy.0 = Release|ARM - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|ARM64.ActiveCfg = Release|ARM64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|ARM64.Build.0 = Release|ARM64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|ARM64.Deploy.0 = Release|ARM64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iOS.ActiveCfg = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iOS.Build.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iOS.Deploy.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iPhone.ActiveCfg = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iPhone.Build.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iPhone.Deploy.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iPhoneSimulator.ActiveCfg = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iPhoneSimulator.Build.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|iPhoneSimulator.Deploy.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|NuGet.ActiveCfg = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|x64.ActiveCfg = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|x64.Build.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|x64.Deploy.0 = Release|x64 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|x86.ActiveCfg = Release|x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|x86.Build.0 = Release|x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A}.Release|x86.Deploy.0 = Release|x86 - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|ARM.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|ARM.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|ARM64.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|ARM64.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iOS.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iOS.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iOS.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iPhone.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iPhone.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|NuGet.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|x64.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|x64.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|x64.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|x86.ActiveCfg = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|x86.Build.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Debug|x86.Deploy.0 = Debug|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|Any CPU.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|Any CPU.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|ARM.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|ARM.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|ARM.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|ARM64.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|ARM64.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|ARM64.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iOS.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iOS.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iOS.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iPhone.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iPhone.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iPhone.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|NuGet.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|x64.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|x64.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|x64.Deploy.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|x86.ActiveCfg = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|x86.Build.0 = Release|Any CPU - {8A268367-6414-4FBB-AF2F-A39822DA4EE0}.Release|x86.Deploy.0 = Release|Any CPU - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|ARM.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|ARM64.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|iOS.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|iOS.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|iPhone.ActiveCfg = Debug|iPhone - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|iPhone.Build.0 = Debug|iPhone - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|NuGet.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|Any CPU.Build.0 = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|ARM.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|ARM.Build.0 = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|ARM64.Build.0 = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|iOS.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|iOS.Build.0 = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|iPhone.ActiveCfg = Release|iPhone - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|iPhone.Build.0 = Release|iPhone - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|NuGet.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|x64.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|x64.Build.0 = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|x86.ActiveCfg = Release|iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4}.Release|x86.Build.0 = Release|iPhoneSimulator - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|ARM.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|ARM.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|ARM64.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|ARM64.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iOS.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iOS.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iOS.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iPhone.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iPhone.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|NuGet.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|x64.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|x64.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|x64.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|x86.ActiveCfg = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|x86.Build.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Debug|x86.Deploy.0 = Debug|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|Any CPU.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|Any CPU.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|ARM.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|ARM.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|ARM.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|ARM64.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|ARM64.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|ARM64.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iOS.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iOS.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iOS.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iPhone.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iPhone.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iPhone.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|NuGet.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|x64.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|x64.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|x64.Deploy.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|x86.ActiveCfg = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|x86.Build.0 = Release|Any CPU - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882}.Release|x86.Deploy.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|ARM.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|ARM.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|ARM64.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|iOS.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|iOS.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|iPhone.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|NuGet.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|NuGet.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|x64.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|x64.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|x86.ActiveCfg = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Debug|x86.Build.0 = Debug|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|Any CPU.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|ARM.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|ARM.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|ARM64.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|ARM64.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|iOS.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|iOS.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|iPhone.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|iPhone.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|NuGet.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|NuGet.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|x64.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|x64.Build.0 = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|x86.ActiveCfg = Release|Any CPU - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE}.Release|x86.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|ARM.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|ARM.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|ARM64.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|iOS.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|iOS.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|iPhone.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|NuGet.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|NuGet.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|x64.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|x64.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|x86.ActiveCfg = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Debug|x86.Build.0 = Debug|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|Any CPU.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|ARM.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|ARM.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|ARM64.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|ARM64.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|iOS.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|iOS.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|iPhone.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|iPhone.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|NuGet.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|NuGet.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|x64.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|x64.Build.0 = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|x86.ActiveCfg = Release|Any CPU - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {6279C845-92F8-4333-AB99-3D213163593C} = {E22802DE-B587-470A-B242-86A8E362FD4F} - {853384DC-0E01-4DC1-BA61-A06F3A0D75ED} = {E22802DE-B587-470A-B242-86A8E362FD4F} - {91E2F2A0-0862-4291-B756-7A14DF3F277A} = {E22802DE-B587-470A-B242-86A8E362FD4F} - {8A268367-6414-4FBB-AF2F-A39822DA4EE0} = {E22802DE-B587-470A-B242-86A8E362FD4F} - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4} = {E22802DE-B587-470A-B242-86A8E362FD4F} - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882} = {E22802DE-B587-470A-B242-86A8E362FD4F} - {47B666F9-B058-4D8F-9332-5DC1E35F7EAE} = {986F4BC6-3A85-44B3-9365-E9D36E3D0215} - {5D64F78B-2420-4BEA-ACD7-30B3E4B4E56F} = {986F4BC6-3A85-44B3-9365-E9D36E3D0215} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {466F4F5D-F314-4778-AFB5-9D7814B60E5C} - EndGlobalSection - GlobalSection(SharedMSBuildProjectFiles) = preSolution - samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.projitems*{2b4dc5a4-bfd3-4c27-9bf9-51c2015926e4}*SharedItemsImports = 4 - samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13 - samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.projitems*{853384dc-0e01-4dc1-ba61-a06f3a0d75ed}*SharedItemsImports = 5 - samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.projitems*{8a268367-6414-4fbb-af2f-a39822da4ee0}*SharedItemsImports = 5 - samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.projitems*{8de2a70f-51ef-4023-96c5-f51b4ae6b882}*SharedItemsImports = 4 - samples\BiometryService.SampleApp.Uno.Shared\BiometryService.SampleApp.Uno.Shared.projitems*{91e2f2a0-0862-4291-b756-7a14df3f277a}*SharedItemsImports = 4 - EndGlobalSection -EndGlobal diff --git a/BiometryService.slnx b/BiometryService.slnx new file mode 100644 index 0000000..001cf50 --- /dev/null +++ b/BiometryService.slnx @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Directory.Build.targets b/Directory.Build.targets deleted file mode 100644 index 697ba85..0000000 --- a/Directory.Build.targets +++ /dev/null @@ -1,9 +0,0 @@ - - - - $([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)')) - - - - - \ No newline at end of file diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index e13bff9..4bb4e8d 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -11,7 +11,7 @@ variables: - name: ArtifactName value: Packages - name: SolutionFileName # Example: MyApplication.sln - value: BiometryService.sln + value: BiometryService.slnx - name: IsReleaseBranch # Should this branch name use the release stage value: $[or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'], 'refs/heads/feature/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'))] - name: AppCenterAndroidSlug @@ -25,7 +25,7 @@ variables: - name: InternalKeystore value: com.nventive.internal.applicationtemplate.jks - name: windowsHostedAgentImage - value: 'windows-2022' + value: 'windows-2025' stages: - stage: Build diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Assets/AboutAssets.txt b/samples/BiometryService.SampleApp.Uno.Droid/Assets/AboutAssets.txt deleted file mode 100644 index ee39886..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Assets/AboutAssets.txt +++ /dev/null @@ -1,19 +0,0 @@ -Any raw assets you want to be deployed with your application can be placed in -this directory (and child directories) and given a Build Action of "AndroidAsset". - -These files will be deployed with you package and will be accessible using Android's -AssetManager, like this: - -public class ReadAsset : Activity -{ - protected override void OnCreate (Bundle bundle) - { - base.OnCreate (bundle); - - InputStream input = Assets.Open ("my_asset.txt"); - } -} - -Additionally, some Android functions will automatically load asset files: - -Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Assets/Fonts/uno-fluentui-assets.ttf b/samples/BiometryService.SampleApp.Uno.Droid/Assets/Fonts/uno-fluentui-assets.ttf deleted file mode 100644 index fedc86f..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.Droid/Assets/Fonts/uno-fluentui-assets.ttf and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.Droid/BiometryService.SampleApp.Uno.Droid.csproj b/samples/BiometryService.SampleApp.Uno.Droid/BiometryService.SampleApp.Uno.Droid.csproj deleted file mode 100644 index b45bf69..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/BiometryService.SampleApp.Uno.Droid.csproj +++ /dev/null @@ -1,110 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {8DE2A70F-51EF-4023-96C5-F51B4AE6B882} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - BiometryService.SampleApp.Uno.Droid - BiometryService.SampleApp.Uno.Droid - 512 - true - Resources\Resource.Designer.cs - true - Off - False - v12.0 - Properties\AndroidManifest.xml - True - ..\BiometryService.SampleApp.Uno.Shared\Strings - - - true - portable - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - True - None - - - portable - true - true - true - bin\Release\ - TRACE - prompt - 4 - False - SdkOnly - true - true - true - true - true - - - - - - - - - - - - - 4.0.1 - - - - 4.5.14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Main.cs b/samples/BiometryService.SampleApp.Uno.Droid/Main.cs deleted file mode 100644 index f6c9e03..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Main.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using Android.App; -using Android.Content; -using Android.OS; -using Android.Runtime; -using Android.Views; -using Android.Widget; -using Com.Nostra13.Universalimageloader.Core; -using Windows.UI.Xaml.Media; - -namespace BiometryService.SampleApp.Uno.Droid -{ - [global::Android.App.ApplicationAttribute( - Label = "@string/ApplicationName", - LargeHeap = true, - HardwareAccelerated = true, - Theme = "@style/AppTheme" - )] - public class Application : Windows.UI.Xaml.NativeApplication - { - public Application(IntPtr javaReference, JniHandleOwnership transfer) - : base(() => new App(), javaReference, transfer) - { - ConfigureUniversalImageLoader(); - } - - private void ConfigureUniversalImageLoader() - { - // Create global configuration and initialize ImageLoader with this config - ImageLoaderConfiguration config = new ImageLoaderConfiguration - .Builder(Context) - .Build(); - - ImageLoader.Instance.Init(config); - - ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync; - } - } -} diff --git a/samples/BiometryService.SampleApp.Uno.Droid/MainActivity.cs b/samples/BiometryService.SampleApp.Uno.Droid/MainActivity.cs deleted file mode 100644 index 6eca5c4..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/MainActivity.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Android.App; -using Android.Widget; -using Android.OS; -using Android.Content.PM; -using Android.Views; - -namespace BiometryService.SampleApp.Uno.Droid -{ - [Activity( - MainLauncher = true, - ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges, - WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden - )] - public class MainActivity : Windows.UI.Xaml.ApplicationActivity - { - public static MainActivity Instance { get; private set; } - protected override void OnCreate(Bundle savedInstanceState) - { - base.OnCreate(savedInstanceState); - - Instance = this; - } - } -} - diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Properties/AndroidManifest.xml b/samples/BiometryService.SampleApp.Uno.Droid/Properties/AndroidManifest.xml deleted file mode 100644 index f694c49..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Properties/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Properties/AssemblyInfo.cs b/samples/BiometryService.SampleApp.Uno.Droid/Properties/AssemblyInfo.cs deleted file mode 100644 index 81140b0..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using Android.App; - -// 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("BiometryService.SampleApp.Uno.Droid")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("BiometryService.SampleApp.Uno.Droid")] -[assembly: AssemblyCopyright("Copyright © 2021")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: ComVisible(false)] - -// 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/samples/BiometryService.SampleApp.Uno.Droid/Resources/AboutResources.txt b/samples/BiometryService.SampleApp.Uno.Droid/Resources/AboutResources.txt deleted file mode 100644 index c2bca97..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Resources/AboutResources.txt +++ /dev/null @@ -1,44 +0,0 @@ -Images, layout descriptions, binary blobs and string dictionaries can be included -in your application as resource files. Various Android APIs are designed to -operate on the resource IDs instead of dealing with images, strings or binary blobs -directly. - -For example, a sample Android app that contains a user interface layout (main.axml), -an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) -would keep its resources in the "Resources" directory of the application: - -Resources/ - drawable/ - icon.png - - layout/ - main.axml - - values/ - strings.xml - -In order to get the build system to recognize Android resources, set the build action to -"AndroidResource". The native Android APIs do not operate directly with filenames, but -instead operate on resource IDs. When you compile an Android application that uses resources, -the build system will package the resources for distribution and generate a class called "R" -(this is an Android convention) that contains the tokens for each one of the resources -included. For example, for the above Resources layout, this is what the R class would expose: - -public class R { - public class drawable { - public const int icon = 0x123; - } - - public class layout { - public const int main = 0x456; - } - - public class strings { - public const int first_string = 0xabc; - public const int second_string = 0xbcd; - } -} - -You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main -to reference the layout/main.axml file, or R.strings.first_string to reference the first -string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Resources/drawable/Icon.png b/samples/BiometryService.SampleApp.Uno.Droid/Resources/drawable/Icon.png deleted file mode 100644 index 8074c4c..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.Droid/Resources/drawable/Icon.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Resources/values/Strings.xml b/samples/BiometryService.SampleApp.Uno.Droid/Resources/values/Strings.xml deleted file mode 100644 index c9aa356..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Resources/values/Strings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Hello World, Click Me! - BiometryService.SampleApp.Uno - diff --git a/samples/BiometryService.SampleApp.Uno.Droid/Resources/values/Styles.xml b/samples/BiometryService.SampleApp.Uno.Droid/Resources/values/Styles.xml deleted file mode 100644 index d668a8e..0000000 --- a/samples/BiometryService.SampleApp.Uno.Droid/Resources/values/Styles.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.Mobile/Android/AndroidManifest.xml b/samples/BiometryService.SampleApp.Uno.Mobile/Android/AndroidManifest.xml index 3dd031e..1b1fd5b 100644 --- a/samples/BiometryService.SampleApp.Uno.Mobile/Android/AndroidManifest.xml +++ b/samples/BiometryService.SampleApp.Uno.Mobile/Android/AndroidManifest.xml @@ -1,5 +1,5 @@ - + - + diff --git a/samples/BiometryService.SampleApp.Uno.Mobile/BiometryService.SampleApp.Uno.Mobile.csproj b/samples/BiometryService.SampleApp.Uno.Mobile/BiometryService.SampleApp.Uno.Mobile.csproj index b354e35..676d2c9 100644 --- a/samples/BiometryService.SampleApp.Uno.Mobile/BiometryService.SampleApp.Uno.Mobile.csproj +++ b/samples/BiometryService.SampleApp.Uno.Mobile/BiometryService.SampleApp.Uno.Mobile.csproj @@ -1,35 +1,38 @@  - net7.0-android;net7.0-ios + net10.0-android;net10.0-ios true Exe true - 14.2 - 21.0 + 14.2 + 21.0 $(DefineConstants);WINUI + + manual + - - + + - + - + - - + + - - + + $(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep $(MtouchExtraArgs) --registrar:static @@ -37,7 +40,7 @@ $(MtouchExtraArgs) --marshal-objectivec-exceptions:disable - + diff --git a/samples/BiometryService.SampleApp.Uno.Shared/App.xaml.cs b/samples/BiometryService.SampleApp.Uno.Shared/App.xaml.cs index 272c50a..06f043c 100644 --- a/samples/BiometryService.SampleApp.Uno.Shared/App.xaml.cs +++ b/samples/BiometryService.SampleApp.Uno.Shared/App.xaml.cs @@ -1,31 +1,6 @@ using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.Foundation; -using Windows.Foundation.Collections; -#if WINUI using Microsoft.UI.Xaml; -using LaunchActivatedEventArgs = Microsoft.UI.Xaml.LaunchActivatedEventArgs; using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Controls.Primitives; -using Microsoft.UI.Xaml.Data; -using Microsoft.UI.Xaml.Input; -using Microsoft.UI.Xaml.Media; -using Microsoft.UI.Xaml.Navigation; -#else -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; -#endif namespace BiometryService.SampleApp.Uno { @@ -40,20 +15,13 @@ public sealed partial class App : Application /// public App() { - Instance = this; - - ConfigureFilters(global::Uno.Extensions.LogExtensionPoint.AmbientLoggerFactory); - this.InitializeComponent(); - -#if !WINUI - this.Suspending += OnSuspending; -#endif } + public Window CurrentWindow { get; private set; } + public static App Instance { get; private set; } - public ILoggerFactory LoggerFactory { get; private set; } /// /// Invoked when the application is launched normally by the end user. Other entry points @@ -62,23 +30,14 @@ public App() /// Details about the launch request and process. protected override void OnLaunched(LaunchActivatedEventArgs e) { -#if DEBUG - if (System.Diagnostics.Debugger.IsAttached) - { - // this.DebugSettings.EnableFrameRateCounter = true; - } -#endif - -#if NET5_0_OR_GREATER && WINDOWS - var window = new Window(); - window.Activate(); -#elif WINUI - var window = Microsoft.UI.Xaml.Window.Current; +#if WINDOWS + CurrentWindow = new Window(); + CurrentWindow.Activate(); #else - var window = Windows.UI.Xaml.Window.Current; + CurrentWindow = Microsoft.UI.Xaml.Window.Current; #endif - - Frame rootFrame = window.Content as Frame; + Instance = this; + Frame rootFrame = CurrentWindow.Content as Frame; // Do not repeat app initialization when the Window already has content, // just ensure that the window is active @@ -87,109 +46,21 @@ protected override void OnLaunched(LaunchActivatedEventArgs e) // Create a Frame to act as the navigation context and navigate to the first page rootFrame = new Frame(); - rootFrame.NavigationFailed += OnNavigationFailed; - -#if !WINUI - if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) - { - //TODO: Load state from previously suspended application - } -#endif - // Place the frame in the current Window - window.Content = rootFrame; + CurrentWindow.Content = rootFrame; } -#if !(NET5_0_OR_GREATER && WINDOWS || WINUI) - if (e.PrelaunchActivated == false) -#endif + if (rootFrame.Content == null) { - if (rootFrame.Content == null) - { - // When the navigation stack isn't restored navigate to the first page, - // configuring the new page by passing required information as a navigation - // parameter - rootFrame.Navigate(typeof(MainPage), e.Arguments); - } - // Ensure the current window is active - window.Activate(); + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame.Navigate(typeof(MainPage), e.Arguments); } - } - /// - /// Invoked when Navigation to a certain page fails - /// - /// The Frame which failed navigation - /// Details about the navigation failure - void OnNavigationFailed(object sender, NavigationFailedEventArgs e) - { - throw new Exception($"Failed to load {e.SourcePageType.FullName}: {e.Exception}"); - } - - /// - /// Invoked when application execution is being suspended. Application state is saved - /// without knowing whether the application will be terminated or resumed with the contents - /// of memory still intact. - /// - /// The source of the suspend request. - /// Details about the suspend request. - private void OnSuspending(object sender, SuspendingEventArgs e) - { - var deferral = e.SuspendingOperation.GetDeferral(); - //TODO: Save application state and stop any background activity - deferral.Complete(); - } - /// - /// Configures global logging - /// - /// - static void ConfigureFilters(ILoggerFactory factory) - { - factory - .WithFilter(new FilterLoggerSettings - { - { "Uno", LogLevel.Warning }, - { "Windows", LogLevel.Warning }, - - // Debug JS interop - // { "Uno.Foundation.WebAssemblyRuntime", LogLevel.Debug }, - - // Generic Xaml events - // { "Windows.UI.Xaml", LogLevel.Debug }, - // { "Windows.UI.Xaml.VisualStateGroup", LogLevel.Debug }, - // { "Windows.UI.Xaml.StateTriggerBase", LogLevel.Debug }, - // { "Windows.UI.Xaml.UIElement", LogLevel.Debug }, - - // Layouter specific messages - // { "Windows.UI.Xaml.Controls", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.Layouter", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.Panel", LogLevel.Debug }, - // { "Windows.Storage", LogLevel.Debug }, - - // Binding related messages - // { "Windows.UI.Xaml.Data", LogLevel.Debug }, - - // DependencyObject memory references tracking - // { "ReferenceHolder", LogLevel.Debug }, - - // ListView-related messages - // { "Windows.UI.Xaml.Controls.ListViewBase", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.ListView", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.GridView", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.VirtualizingPanelLayout", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.NativeListViewBase", LogLevel.Debug }, - // { "Windows.UI.Xaml.Controls.ListViewBaseSource", LogLevel.Debug }, //iOS - // { "Windows.UI.Xaml.Controls.ListViewBaseInternalContainer", LogLevel.Debug }, //iOS - // { "Windows.UI.Xaml.Controls.NativeListViewBaseAdapter", LogLevel.Debug }, //Android - // { "Windows.UI.Xaml.Controls.BufferViewCache", LogLevel.Debug }, //Android - // { "Windows.UI.Xaml.Controls.VirtualizingPanelGenerator", LogLevel.Debug }, //WASM - } - ) -#if DEBUG - .AddConsole(LogLevel.Debug); -#else - .AddConsole(LogLevel.Information); +#if __MOBILE__ + CurrentWindow.Activate(); #endif } } diff --git a/samples/BiometryService.SampleApp.Uno.Shared/MainPage.xaml.cs b/samples/BiometryService.SampleApp.Uno.Shared/MainPage.xaml.cs index f857dca..91ae177 100644 --- a/samples/BiometryService.SampleApp.Uno.Shared/MainPage.xaml.cs +++ b/samples/BiometryService.SampleApp.Uno.Shared/MainPage.xaml.cs @@ -51,8 +51,7 @@ public MainPage() _biometryService = new BiometryService( "Biometrics_Confirm", laContext, - LAPolicy.DeviceOwnerAuthentication, - App.Instance.LoggerFactory); + LAPolicy.DeviceOwnerAuthentication); #endif //Note that not all combinations of authenticator types are supported prior to Android 11 (API 30). Specifically, DEVICE_CREDENTIAL alone is unsupported prior to API 30, and BIOMETRIC_STRONG | DEVICE_CREDENTIAL is unsupported on API 28-29 @@ -82,12 +81,11 @@ public MainPage() _biometryService = new BiometryService( MainActivity.Instance, - promptBuilder, - App.Instance.LoggerFactory + promptBuilder ); #endif -#if WINDOWS_UWP || WINDOWS - _biometryService = new BiometryService(App.Instance.LoggerFactory); +#if WINDOWS + _biometryService = new BiometryService(); #endif _ = LoadCapabilities(_cancellationToken); diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Assets/lockscreenlogo.scale-200.png b/samples/BiometryService.SampleApp.Uno.UWP/Assets/lockscreenlogo.scale-200.png deleted file mode 100644 index cb5e47b..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.UWP/Assets/lockscreenlogo.scale-200.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Assets/splashscreen.scale-200.png b/samples/BiometryService.SampleApp.Uno.UWP/Assets/splashscreen.scale-200.png deleted file mode 100644 index 8c265cf..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.UWP/Assets/splashscreen.scale-200.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Assets/square150x150logo.scale-200.png b/samples/BiometryService.SampleApp.Uno.UWP/Assets/square150x150logo.scale-200.png deleted file mode 100644 index 9ad09e6..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.UWP/Assets/square150x150logo.scale-200.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Assets/square44x44logo.scale-200.png b/samples/BiometryService.SampleApp.Uno.UWP/Assets/square44x44logo.scale-200.png deleted file mode 100644 index 1cf187e..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.UWP/Assets/square44x44logo.scale-200.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Assets/storelogo.png b/samples/BiometryService.SampleApp.Uno.UWP/Assets/storelogo.png deleted file mode 100644 index bc58536..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.UWP/Assets/storelogo.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Assets/wide310x150logo.scale-200.png b/samples/BiometryService.SampleApp.Uno.UWP/Assets/wide310x150logo.scale-200.png deleted file mode 100644 index 6c31a63..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.UWP/Assets/wide310x150logo.scale-200.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.UWP/BiometryService.SampleApp.Uno.UWP.csproj b/samples/BiometryService.SampleApp.Uno.UWP/BiometryService.SampleApp.Uno.UWP.csproj deleted file mode 100644 index 06e3136..0000000 --- a/samples/BiometryService.SampleApp.Uno.UWP/BiometryService.SampleApp.Uno.UWP.csproj +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - 6.2.12 - - - - - - - {47b666f9-b058-4d8f-9332-5dc1e35f7eae} - BiometryService.Abstractions - - - - - Debug - x86 - {91E2F2A0-0862-4291-B756-7A14DF3F277A} - AppContainerExe - Properties - BiometryService.SampleApp.Uno - BiometryService.SampleApp.Uno - en-US - UAP - 10.0.19041.0 - 10.0.19041.0 - 14 - 512 - {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - BiometryService.SampleApp.Uno.Uwp_TemporaryKey.pfx - - - true - bin\x86\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x86 - false - prompt - true - - - bin\x86\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x86 - false - prompt - true - true - - - true - bin\ARM\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - ARM - false - prompt - true - - - bin\ARM\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - ARM - false - prompt - true - true - - - true - bin\ARM64\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - ARM64 - false - prompt - true - true - - - bin\ARM64\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - ARM64 - false - prompt - true - true - - - true - bin\x64\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x64 - false - prompt - true - - - bin\x64\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x64 - false - prompt - true - true - - - - - - - Designer - - - - - - - - - - - - - - 14.0 - - - - \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Package.appxmanifest b/samples/BiometryService.SampleApp.Uno.UWP/Package.appxmanifest deleted file mode 100644 index c10219b..0000000 --- a/samples/BiometryService.SampleApp.Uno.UWP/Package.appxmanifest +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - BiometryService.SampleApp.Uno - BiometryService.SampleApp.Uno - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Properties/AssemblyInfo.cs b/samples/BiometryService.SampleApp.Uno.UWP/Properties/AssemblyInfo.cs deleted file mode 100644 index 8a3a626..0000000 --- a/samples/BiometryService.SampleApp.Uno.UWP/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,29 +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("BiometryService.SampleApp.Uno.UWP")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("BiometryService.SampleApp.Uno.UWP")] -[assembly: AssemblyCopyright("Copyright © 2021")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// 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")] -[assembly: ComVisible(false)] diff --git a/samples/BiometryService.SampleApp.Uno.UWP/Properties/Default.rd.xml b/samples/BiometryService.SampleApp.Uno.UWP/Properties/Default.rd.xml deleted file mode 100644 index 80a960c..0000000 --- a/samples/BiometryService.SampleApp.Uno.UWP/Properties/Default.rd.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.WinUI/BiometryService.SampleApp.Uno.WinUI.csproj b/samples/BiometryService.SampleApp.Uno.WinUI/BiometryService.SampleApp.Uno.WinUI.csproj index 044b104..0d73212 100644 --- a/samples/BiometryService.SampleApp.Uno.WinUI/BiometryService.SampleApp.Uno.WinUI.csproj +++ b/samples/BiometryService.SampleApp.Uno.WinUI/BiometryService.SampleApp.Uno.WinUI.csproj @@ -1,12 +1,12 @@  WinExe - net7.0-windows10.0.19041.0 + net10.0-windows10.0.22621.0 10.0.19041.0 BiometryService.SampleApp.Uno.WinUI app.manifest x86;x64;arm64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 win10-$(Platform).pubxml true true @@ -24,8 +24,8 @@ - - + + diff --git a/samples/BiometryService.SampleApp.Uno.WinUI/Directory.Build.targets b/samples/BiometryService.SampleApp.Uno.WinUI/Directory.Build.targets new file mode 100644 index 0000000..7047964 --- /dev/null +++ b/samples/BiometryService.SampleApp.Uno.WinUI/Directory.Build.targets @@ -0,0 +1,8 @@ + + + false + false + full + true + + diff --git a/samples/BiometryService.SampleApp.Uno.iOS/BiometryService.SampleApp.Uno.iOS.csproj b/samples/BiometryService.SampleApp.Uno.iOS/BiometryService.SampleApp.Uno.iOS.csproj deleted file mode 100644 index 16ee80e..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/BiometryService.SampleApp.Uno.iOS.csproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - Debug - iPhoneSimulator - {2B4DC5A4-BFD3-4C27-9BF9-51C2015926E4} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Exe - BiometryService.SampleApp.Uno - Resources - BiometryService.SampleApp.Uno - - - ..\BiometryService.SampleApp.Uno.Shared\Strings - - - true - portable - false - bin\iPhoneSimulator\Debug - DEBUG - prompt - 4 - false - x86_64 - None - true - --setenv=MONO_LOG_LEVEL=debug --setenv=MONO_LOG_MASK=gc --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep - - - portable - true - bin\iPhoneSimulator\Release - prompt - 4 - None - x86_64 - false - --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep - - - true - full - false - bin\iPhone\Debug - DEBUG - prompt - 4 - false - ARM64 - Entitlements.plist - iPhone Developer - true - --setenv=MONO_LOG_LEVEL=debug --setenv=MONO_LOG_MASK=gc --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep - - - none - true - bin\iPhone\Release - prompt - 4 - Entitlements.plist - ARM64 - false - iPhone Distribution - true - true - true - --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep - - - none - True - bin\iPhone\Ad-Hoc - prompt - 4 - False - ARM64 - Entitlements.plist - True - Automatic:AdHoc - iPhone Distribution - - - none - True - bin\iPhone\AppStore - prompt - 4 - False - ARM64 - Entitlements.plist - Automatic:AppStore - iPhone Distribution - - - - - - - $(MtouchExtraArgs) --registrar=static - - - - - - - - - - - - - - - - - - - - - - 4.0.1 - - - 1.4.0 - - - - 4.5.14 - - - - - - - - false - - - false - - - false - - - false - - - false - - - false - - - false - - - false - - - false - - - - - {47b666f9-b058-4d8f-9332-5dc1e35f7eae} - BiometryService.Abstractions - - - {5d64f78b-2420-4bea-acd7-30b3e4b4e56f} - BiometryService - - - - - \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Entitlements.plist b/samples/BiometryService.SampleApp.Uno.iOS/Entitlements.plist deleted file mode 100644 index 24c3103..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/Entitlements.plist +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Info.plist b/samples/BiometryService.SampleApp.Uno.iOS/Info.plist deleted file mode 100644 index fcdcd28..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/Info.plist +++ /dev/null @@ -1,59 +0,0 @@ - - - - - CFBundleDisplayName - BiometryService.SampleApp.Uno - CFBundleIdentifier - com.companyname.BiometryService.SampleApp.Uno - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - MinimumOSVersion - 8.0 - UIDeviceFamily - - 1 - 2 - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIAppFonts - - Fonts/uno-fluentui-assets.ttf - - UIViewControllerBasedStatusBarAppearance - - UILaunchImageMinimumOSVersion - 9.0 - UILaunchImageOrientation - Portrait - UILaunchImageSize - {320, 568} - UIApplicationSupportsIndirectInputEvents - - NSFaceIDUsageDescription - Biometry would like to use Face Id - - diff --git a/samples/BiometryService.SampleApp.Uno.iOS/LaunchScreen.storyboard b/samples/BiometryService.SampleApp.Uno.iOS/LaunchScreen.storyboard deleted file mode 100644 index 04a81ae..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/LaunchScreen.storyboard +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Main.cs b/samples/BiometryService.SampleApp.Uno.iOS/Main.cs deleted file mode 100644 index b157b38..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/Main.cs +++ /dev/null @@ -1,15 +0,0 @@ -using UIKit; - -namespace BiometryService.SampleApp.Uno.iOS -{ - public class Application - { - // This is the main entry point of the application. - static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(App)); - } - } -} \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/Contents.json b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/Contents.json deleted file mode 100644 index 8292de7..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/Contents.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "images": [ - { - "scale": "2x", - "size": "29x29", - "idiom": "iphone" - }, - { - "scale": "3x", - "size": "29x29", - "idiom": "iphone" - }, - { - "scale": "2x", - "size": "40x40", - "idiom": "iphone" - }, - { - "scale": "3x", - "size": "60x60", - "idiom": "iphone" - }, - { - "scale": "1x", - "size": "20x20", - "idiom": "ipad" - }, - { - "scale": "2x", - "size": "20x20", - "idiom": "ipad" - }, - { - "scale": "1x", - "size": "29x29", - "idiom": "ipad" - }, - { - "scale": "2x", - "size": "29x29", - "idiom": "ipad" - }, - { - "scale": "1x", - "size": "40x40", - "idiom": "ipad" - }, - { - "scale": "2x", - "size": "40x40", - "idiom": "ipad" - }, - { - "scale": "1x", - "size": "76x76", - "idiom": "ipad" - }, - { - "scale": "2x", - "size": "20x20", - "idiom": "iphone", - "filename": "iPhone-20x20@2x.png" - }, - { - "scale": "3x", - "size": "20x20", - "idiom": "iphone", - "filename": "iPhone-20x20@3x.png" - }, - { - "scale": "3x", - "size": "40x40", - "idiom": "iphone", - "filename": "iPhone-40x40@3x.png" - }, - { - "scale": "2x", - "size": "60x60", - "idiom": "iphone", - "filename": "iPhone-60x60@2x.png" - }, - { - "scale": "2x", - "size": "76x76", - "idiom": "ipad", - "filename": "iPad-76x76@2x.png squaretile-sdk-ipad.png" - }, - { - "scale": "2x", - "size": "83.5x83.5", - "idiom": "ipad", - "filename": "iPad-84x84@2x.png" - }, - { - "scale": "1x", - "size": "1024x1024", - "idiom": "ios-marketing", - "filename": "ios-marketing-1024x1024@1x.png" - } - ], - "properties": {}, - "info": { - "version": 1, - "author": "xcode" - } -} diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png deleted file mode 100644 index 5b02c03..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png deleted file mode 100644 index 5f38288..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png deleted file mode 100644 index 15c895f..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png deleted file mode 100644 index 7c034c5..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png deleted file mode 100644 index 5835894..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png deleted file mode 100644 index 5835894..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png deleted file mode 100644 index 7601500..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json b/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json deleted file mode 100644 index 69555e4..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "images": [ - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "2x", - "size": "640x960", - "idiom": "iphone" - }, - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "subtype": "retina4", - "scale": "2x", - "size": "640x1136", - "idiom": "iphone" - }, - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "1x", - "size": "768x1024", - "idiom": "ipad" - }, - { - "orientation": "landscape", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "1x", - "size": "1024x768", - "idiom": "ipad" - }, - { - "orientation": "portrait", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "2x", - "size": "1536x2048", - "idiom": "ipad" - }, - { - "orientation": "landscape", - "extent": "full-screen", - "minimum-system-version": "7.0", - "scale": "2x", - "size": "2048x1536", - "idiom": "ipad" - } - ], - "properties": {}, - "info": { - "version": 1, - "author": "" - } -} \ No newline at end of file diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Properties/AssemblyInfo.cs b/samples/BiometryService.SampleApp.Uno.iOS/Properties/AssemblyInfo.cs deleted file mode 100644 index 3af2963..0000000 --- a/samples/BiometryService.SampleApp.Uno.iOS/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("BiometryService.SampleApp.Uno.iOS")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("BiometryService.SampleApp.Uno.iOS")] -[assembly: AssemblyCopyright("Copyright © 2021")] -[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("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")] - -// 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/samples/BiometryService.SampleApp.Uno.iOS/Resources/Default-568h@2x.png b/samples/BiometryService.SampleApp.Uno.iOS/Resources/Default-568h@2x.png deleted file mode 100644 index 29973dc..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Resources/Default-568h@2x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Resources/Fonts/uno-fluentui-assets.ttf b/samples/BiometryService.SampleApp.Uno.iOS/Resources/Fonts/uno-fluentui-assets.ttf deleted file mode 100644 index fedc86f..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Resources/Fonts/uno-fluentui-assets.ttf and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Resources/SplashScreen@2x.png b/samples/BiometryService.SampleApp.Uno.iOS/Resources/SplashScreen@2x.png deleted file mode 100644 index f8e793d..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Resources/SplashScreen@2x.png and /dev/null differ diff --git a/samples/BiometryService.SampleApp.Uno.iOS/Resources/SplashScreen@3x.png b/samples/BiometryService.SampleApp.Uno.iOS/Resources/SplashScreen@3x.png deleted file mode 100644 index 8c5f398..0000000 Binary files a/samples/BiometryService.SampleApp.Uno.iOS/Resources/SplashScreen@3x.png and /dev/null differ diff --git a/src/BiometryService.Abstractions/BiometryService.Abstractions.csproj b/src/BiometryService.Abstractions/BiometryService.Abstractions.csproj index d70d8ba..eff3bf0 100644 --- a/src/BiometryService.Abstractions/BiometryService.Abstractions.csproj +++ b/src/BiometryService.Abstractions/BiometryService.Abstractions.csproj @@ -1,11 +1,12 @@  - 11.0 + 14.0 netstandard2.0 BiometryService nventive nventive BiometryService.Abstractions + true BiometryService.Abstractions A unified API for biometry on iOS, Android, and Windows. true @@ -25,7 +26,7 @@ - + diff --git a/src/BiometryService/BiometryService.UWP.cs b/src/BiometryService/BiometryService.UWP.cs deleted file mode 100644 index 6a7acac..0000000 --- a/src/BiometryService/BiometryService.UWP.cs +++ /dev/null @@ -1,148 +0,0 @@ -#if WINDOWS_UWP -using System; -using System.IO; -using System.Security.Cryptography; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Windows.Foundation.Collections; -using Windows.Security.Credentials; -using Windows.Storage; - -namespace BiometryService; - -/// -/// Windows (UWP) implementation of . -/// -/// -/// This implementation is not fully implementeed. -/// -public sealed class BiometryService : BaseBiometryService -{ - private readonly IPropertySet _keys; - private readonly SemaphoreSlim _semaphore; - - /// - /// Initializes a new instance of the class. - /// - /// Logger factory - public BiometryService(ILoggerFactory loggerFactory = null) : base(loggerFactory) - { - _keys = ApplicationData.Current.LocalSettings.Values; - _semaphore = new SemaphoreSlim(1, 1); - } - - /// - public override async Task GetCapabilities(CancellationToken ct) - { - bool windowsHelloAvailable = await KeyCredentialManager.IsSupportedAsync().AsTask(ct); - return new BiometryCapabilities(windowsHelloAvailable ? BiometryType.Fingerprint : BiometryType.None, windowsHelloAvailable, true); - } - - /// - public override async Task ScanBiometry(CancellationToken ct) - { - if (Logger.IsEnabled(LogLevel.Debug)) - { - Logger.LogDebug("Authenticating the fingerprint."); - } - - await KeyCredentialManager.IsSupportedAsync(); - - if (Logger.IsEnabled(LogLevel.Information)) - { - Logger.LogInformation("Successfully authenticated the fingerprint."); - } - } - - /// - public override async Task Encrypt(CancellationToken ct, string key, string value) - { - if (Logger.IsEnabled(LogLevel.Debug)) - { - Logger.LogDebug($"Encrypting the fingerprint (key name: '{key}')."); - } - - ValidateProperty(key, nameof(key)); - ValidateProperty(key, nameof(value)); - - if (!(await KeyCredentialManager.IsSupportedAsync())) - { - throw new BiometryException(BiometryExceptionReason.Unavailable, "Biometry not supported."); - } - - await _semaphore.WaitAsync(ct); - - try - { - using (Aes aes = Aes.Create()) - { - aes.BlockSize = 128; - aes.KeySize = 256; - aes.Mode = CipherMode.CBC; - aes.Padding = PaddingMode.PKCS7; - - aes.GenerateIV(); - aes.GenerateKey(); - - _keys[key] = Convert.ToBase64String(aes.Key); - - using (var ms = new MemoryStream()) - using (var cryptoStream = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write)) - { - var valueBytes = Encoding.ASCII.GetBytes(value); - - await cryptoStream.WriteAsync(valueBytes, 0, valueBytes.Length, ct); - - cryptoStream.FlushFinalBlock(); - - if (Logger.IsEnabled(LogLevel.Information)) - { - Logger.LogInformation($"Successfully encrypted the fingerprint (key name: '{key}')."); - } - } - } - } - finally - { - _semaphore.Release(); - } - } - - /// - public override Task Decrypt(CancellationToken ct, string key) - { - if (Logger.IsEnabled(LogLevel.Debug)) - { - Logger.LogDebug($"Decrypting the fingerprint (key name: '{key}')."); - } - - ValidateProperty(key, nameof(key)); - - throw new NotImplementedException("Missing implementation of Decrypt."); - } - - /// - public override void Remove(string key) - { - if (_keys.ContainsKey(key)) - { - _keys.Remove(key); - } - else - { - throw new ArgumentException($"{key} does not exists"); - } - } - - private void ValidateProperty(string propertyValue, string propertyName) - { - if (string.IsNullOrEmpty(propertyValue)) - { - throw new ArgumentNullException(propertyName); - } - } -} -#endif diff --git a/src/BiometryService/BiometryService.csproj b/src/BiometryService/BiometryService.csproj index f241956..bc0c77c 100644 --- a/src/BiometryService/BiometryService.csproj +++ b/src/BiometryService/BiometryService.csproj @@ -1,7 +1,7 @@ - + - 11.0 - net7.0-android;net7.0-ios;net7.0-windows10.0.19041;xamarinios10;monoandroid12.0;uap10.0.19041;netstandard2.0 + 14.0 + net10.0;net10.0-ios;net10.0-android;net10.0-windows10.0.22621; BiometryService nventive nventive @@ -9,11 +9,18 @@ BiometryService A unified API for biometry on iOS, Android, and Windows. true - biometry;FaceID;TouchID;Fingerprint;mvvm;maui;winui;ios;android;xamarin;uwp + true + biometry;FaceID;TouchID;Fingerprint;mvvm;maui;winui;ios;android Apache-2.0 https://github.com/nventive/BiometryService README.md - $(DefineConstants);__WINDOWS__ + true + $(DefineConstants);__WINDOWS__ + + + + + win-x86;win-x64;win-arm64 @@ -26,24 +33,25 @@ - + - + - + - - - - - + + + + + +