标签: maui

在 Android 上使用 .NET MAUI 中的 Web Authenticator 进行 Google 登录的正确方法

我已在此处关注 .NET Maui 的 Web 身份验证器的官方文档。它解释了如何有效地执行操作,但他们错过了一些有关回调 URL 的关键信息。根据文章,URL 应该是 myapp://。我认为它可能是类似 thisapp:// 的东西。

myapp:// 的问题是 WebAuthenticatorActivity 不喜欢这样。使用 myapp:// 作为回调 URL 时出现以下错误:

您必须子类化WebAuthenticatorCallbackActivity并为其创建一个与您的callbackUrl.

在底部我将发布代码。

我还查看了 Dan Siegal 的帮助程序库和他在 MAUI 网络身份验证器上的视频,但他无法让该应用程序在视频中运行。我还在GitHub 上查看了他的示例,他使用“myapp”作为回调 URL。仅使用“myapp”的问题是,当您为 Web 身份验证器指定回调 URL 时, Uri类不喜欢它。这是我得到的错误:

无效 URI:无法确定 URI 的格式。

所以基本上我不能使用“myapp://”或“myapp”并决定将两者结合起来。对于回调 URL,我使用“myapp://”,对于 WebAuthenticatorActivity,我使用“myapp”。这确实有效,但仍然存在一个问题。在 Google 控制台上,它需要重定向 URL。我尝试过“myapp://”或“myapp”,但它不允许这样做:

在此输入图像描述

在网上搜索后,我发现一篇文章提到我应该使用:https://mysite/signin-google。我已根据文档并使用 Dan Siegal 的库正确设置了 API。

因此,如果我在 Google 控制台上使用“myapp://”作为 Web 身份验证器的回调 URL,使用“myapp”作为 WebAuthenticatorActivity 和 https://mysite/signin-google,那么一切都会正常工作,直到 Google 尝试重定向从浏览器返回我的应用程序。这是我得到的错误:

无法找到此 mysite 页面。未找到该网址的网页:https://mysite/signin-google

归结为:

我应该使用什么值:

  1. Web认证器的回调URL
  2. WebAuthenticator 活动
  3. Google …

maui webauthenticator

5
推荐指数
1
解决办法
6589
查看次数

Visual Studio 2022:DEP0700:应用程序注册失败。[0x80070005]

每次我尝试在 Windows 计算机上调试我的 MAUI 应用程序时都会遇到此问题。它看起来像这样:

DEP0700: Registration of the app failed. [0x80070005] Deployment Register operation with target volume D: on Package 4C30989C-021C-4C65-A99F-1EF165615662_1.0.0.1_x64_9n4h1lOyvjzm from: (AppxManifest.xml) failed with error 0x80070005. See http:// ClickerSomethingTestApp go.microsoft.com/fwlink/?Linkld=235160 for help diagnosing app deployment issues.
Run Code Online (Sandbox Code Playgroud)

新项目和现有项目都会发生这种情况。

编辑:我将项目文件夹移动到默认的 Visual Studio 项目位置,现在它可以工作了。也适用于 C 盘上的任何位置。不过我希望我的项目位于 D 驱动器上。有任何想法吗?

visual-studio maui

5
推荐指数
1
解决办法
1781
查看次数

未找到 DVTDeveloperModeHelper 为什么尝试从 Rider 部署到物理 iOS 设备

我正在开发一个针对 iOS 和 Android 的移动应用程序,我开始在 Windows 上的 Visual Studio 2022 中开发它,但由于 iOS 模拟器无法在 Windows 上运行的问题,已转移到 MacOS。

在 Mac (Ventura 13.0) 上,我安装了 XCode 14.1、Visual Studio For Mac 17.3.8 和 Jetbrains Rider 2022.2.3。我尝试使用 Rider,因为它对我来说在 Mac 上是最一致的体验,因为我通常在 Windows 上使用它。

我已经将应用程序开发到了我想在物理设备上测试它的程度,它在两个平台的模拟器上部署和运行都没有问题(通过 Rider 在 MacOS 上),并且在我的 Android 设备上部署和运行也是一样的。当尝试将其部署到物理 iPhone 14 (16.1) 时,出现了问题,我在部署目标下拉列表中选择了该设备,并且构建正常,但当它尝试将应用程序部署到设备时,出现以下错误。我已经检查过,该框架不在 XCode 中,并且我不知道从哪里获取它(如果这是真正的问题)。

应用程序从 Visual Studio for Mac 构建并部署到 iOS 设备不会出现任何问题,但对于 Android 则不然,与 Android 相比,必须使用不同的 IDE 进行物理 iOS 测试是一个问题。

事实上它可以很好地从 VS 部署到 iOs 设备,这让我认为这与配置文件有关,下面的错误是一个转移注意力的问题,因为我有一些人试图让这一切都工作在第一位。我在项目调试配置中注意到的一件事是,配置配置文件说Unable to parse application identifier from Info.plist我不知道​​应该在 Info.plist 中设置什么来添加它。签名身份设置为 …

macos android ios rider maui

5
推荐指数
0
解决办法
1956
查看次数

我可以使用 VSCode 来使用 WinUI 3 或 MAUI 或 UNO 堆栈开发 WINDOW DESKTOP 应用程序吗?

我正在尝试在 VSCode 中建立一个项目来构建和运行 Windows 桌面应用程序:WinUI / MAUI / UNO,因为我们的团队主要使用 VSCode。

我知道 WinUI 3 项目建议使用 Visual Studio 2022 Microsoft 文档都没有明确指出

  • 如果可以在VSCode中运行这些技术,
  • 或者,如果需要 Visual Studio 2022 来运行 WinUI 3 项目

我尝试了什么

我使用可用模板在 Visual Studio 2022 中创建了一个工作示例 WinUI 3 项目。我尝试在 VSCode 中运行此示例失败(请参阅下面的错误)。到目前为止还没有解决方法。任何帮助深表感谢。

请随意修改我的示例代码/存储库以使其在 VSCode 中运行。

dotnet build / run 返回以下错误,

dotnet 构建运行错误

问题

是否可以使用运行项目?

如果是

  • 谁能分享可以在 VSCode 中运行的任何 WinUI 项目的 git 存储库
  • 使用 .vscode 文件夹中的启动设置
  • 和其他项目配置文件进行更改以使其正常工作。

uno visual-studio-code winui-3 maui

5
推荐指数
1
解决办法
3728
查看次数

是否可以更改 .Net Maui 中工具栏项目更多图标、汉堡包图标和后退按钮的颜色?

我有一个带有 .net maui 的弹出主控/详细信息页面。

在深色模式下,汉堡按钮、后退按钮和工具栏项目更多图标(三个点)在windwos上显示为黑色。在 Android 上,只有工具栏项目更多图标(三个点)是黑色的,后退按钮是白色的。

如何在 windows、android、ios 上的 .net maui 中更改我的工具栏项目更多图标颜色、humberger 图标颜色和后退按钮颜色?

提前致谢。

视窗:

在此输入图像描述

安卓:

在此输入图像描述

Windows 浅色模式:这里如何使更多图标变白?

在此输入图像描述

我的风格`

<Color x:Key="Background_Dark">#081B25</Color>
<Color x:Key="DarkGreenBackgroundColor">#187D21</Color>
<Style TargetType="NavigationPage" ApplyToDerivedTypes="True">
    <Setter Property="BackgroundColor" Value="{AppThemeBinding Light={StaticResource DarkGreenBackgroundColor}, Dark={StaticResource Background_Dark}}" />
    <Setter Property="BarBackgroundColor" Value="{AppThemeBinding Light={StaticResource DarkGreenBackgroundColor}, Dark={StaticResource Background_Dark}}" />
    <Setter Property="BarTextColor" Value="White" />
    <Setter Property="IconColor" Value="White" />
</Style>

<Style TargetType="Page" ApplyToDerivedTypes="True">
    <Setter Property="Padding" Value="0"/>
    <Setter Property="BackgroundColor" Value="{AppThemeBinding Light=White, Dark={StaticResource Background_Dark}}" />
</Style>
Run Code Online (Sandbox Code Playgroud)

`

.net flyout maui darkmode

5
推荐指数
1
解决办法
3692
查看次数

如何找出DllNotFoundException之后缺少哪个依赖项?

我想编写一个小型 .Net MAUI 应用程序,它使用 C# SDK NuGet 包(实现Hyperledger Anoncreds)。在 Android(模拟器或设备)上运行应用程序时,大多数 SDK 方法调用都可以工作,但某些调用仍然会抛出异常,而DllNotFoundException没有任何指示实际缺少哪个 Dll。

在我阅读了 SDK 后,我能够.so向 MAUI 项目添加一些依赖项,但显然仍然缺少一些依赖项。

我已经尝试阅读 SDK 源代码和它包装的一些 Rust 代码,以预感可能缺少的内容。但即使费力地浏览这些cargo.toml文件也只向我展示了板条箱,而不是任何实际的库。

像“APK分析器”这样的Android工具提供了很多有用的信息,但没有依赖关系概述,并且“Dependency Walker”工具只分析与实际Android环境不同的Windows构建的二进制文件。

如何找到异常指示的缺失依赖项?有没有像“Dependency Walker”这样的适用于 Android APK 的工具?

编辑:修复了一些拼写错误并添加了更多信息。

c# dependencies android apk maui

5
推荐指数
1
解决办法
235
查看次数

.NET MAUI开放系统设置

有人可以告诉我如何使用 .NET MAUI 强制系统打开系统设置,或者更好的系统设置 > myApp > 权限?我正在尝试编写代码,在不允许应用程序使用相机后将用户重定向到设置。

Android 和 iOS 均可

我尝试寻找与意图相关的东西

.net maui

5
推荐指数
1
解决办法
2009
查看次数

MAUI:在页面之间导航的 GoToAsync() 和 PushAsync() 之间有什么区别?

我正在尝试了解如何在 MAUI 应用程序和 MVVM 的页面之间导航的最佳方式。

我在 Microsoft 的示例中看到,默认的操作方式是使用PushAsync(),但后来我发现可以使用 进行导航Shell.Current.GoToAsync()

两者有什么区别?或者说它们是互补的?

c# mvvm maui

5
推荐指数
1
解决办法
1992
查看次数

如何更改 CollectionView 中所选项目的背景颜色?.Net 毛伊岛

在Android中,默认颜色是橙色,但我不知道如何更改它。\n我尝试了微软官方文档的演示代码,但\xc2\xb4不起作用。

\n
//Xaml//\n<CollectionView ItemsSource="{Binding Products}"\n                ItemTemplate="{StaticResource OfferProductStyle}"\n                ItemsLayout="VerticalGrid,1"\n                SelectionMode="Single"\n                x:Name="MyCollectionView">\n</CollectionView>\n\n
Run Code Online (Sandbox Code Playgroud)\n

我的收藏查看

\n

c# maui

5
推荐指数
2
解决办法
7114
查看次数

Maui ImageButton 与 FontImageSource - 如何调整图像大小?.net 8

我刚刚将我的 maui android/ios 项目更新为 .net 8,我的 ImageButtons 现在呈现不同的方式。

在 .net 7 中,我没有设置 ImageButton 的高度/宽度,按钮的大小将根据填充进行调整。我找到了一个我喜欢的平衡,它的图像显示有一些填充,这样它就不会被圆角半径切断。

在 .net 8 中,我需要设置高度/宽度才能显示 ImageButton。但是,设置 ImageButton 高度/宽度尺寸后,填充值没有任何区别(这与 .net 7 中的行为相同)。

由于某种原因,FontImageSource 现在渲染得比以前更大,并且填充没有任何区别,我无法让图像很好地适合按钮而不被角半径切断。FontImageSource 图标没有改变。

在此输入图像描述

我尝试了各种不同的高度/宽度、填充和角半径,以及设置 fontImageSource 的大小,但我无法复制 .net 7 中此按钮的外观!

我想让它看起来像上图中顶部中间的图标。有谁知道需要更改什么才能使图标正确显示?

<Grid Margin="0" BackgroundColor="Black" >
    <Grid.RowDefinitions>
        <RowDefinition Height="40" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <ImageButton Grid.Row="1" Margin="15,0,15,10" 
        HorizontalOptions="End" 
        VerticalOptions="End" 
        HeightRequest="40" 
        WidthRequest="40"
        Padding="5"
        CornerRadius="20"
        BackgroundColor="#32578f">
        <ImageButton.Source>
            <FontImageSource  
                Glyph="{x:Static m:MaterialOutlined.Grid_view}" 
                FontFamily="MaterialOutlined" 
                Color="White" 
                Size="10"/>
        </ImageButton.Source>
    </ImageButton>
</Gird>
Run Code Online (Sandbox Code Playgroud)

imagebutton maui maui-android .net-8.0

5
推荐指数
1
解决办法
570
查看次数