【问题标题】:Can't get App Icons to work for iOS with Xamarin无法使用 Xamarin 让应用程序图标适用于 iOS
【发布时间】:2021-10-12 16:56:31
【问题描述】:

我已尽我所能找到让这些应用程序图标适用于 iOS 的方法。无论我做什么,它们都不会出现,我坚持使用默认的 Xamarin 图标。我什至尝试制作一个全新的项目来重新开始,但我仍然坚持使用默认的 Xamarin 图标。我必须错过一些东西。我拥有 AppIcon 资产目录中的所有图标。 Info.plist 设置为 AppIcon 源。 Info.plist 文件正确指向 Assets.xcassets 文件夹的根文件夹。最后根据其他论坛帖子,我尝试将 Include Image Assets 列表添加到 .csproj,但没有成功。

我刚刚意识到的一件事是我可以从根目录中完全删除 Assets 文件夹,Visual Studio 并不关心它何时构建。 这令人难以置信的沮丧。这样做的原因是零,所以很难。提前谢谢你,我现在完全迷路了。

【问题讨论】:

  • 请不要将代码或错误作为图片发布。花点时间将它们粘贴并格式化为文本。您是否尝试在构建之前删除所有 bin 和 obj 文件夹?并从设备/模拟器中删除您应用的任何现有副本,以确保它没有缓存旧图标?
  • 我已经删除了所有 bin 和 obj 文件夹,然后再构建了几次。在构建之前,我还会删除设备上应用程序的所有现有副本。没有运气。这些图标拒绝出现。对我来说,它似乎完全忽略了我的资产目录,我可以删除该文件夹并且在构建时不会出错。有没有使用添加什么的?
  • 您的 Visual Studio 和包 Xamarin.Forms 的版本是什么?您能否将所有内容更新到最新版本并重试?

标签: ios xamarin xamarin.ios


【解决方案1】:

这可能是答案,我遇到了完全相同的问题,并且已经投入了很多时间来尝试解决这个问题。

我创建了一个新的 Xamarin 解决方案,并在资产目录中用我自己的替换了所有 Xamarin PNG,并删除了所有 Xamarin 图像。应用程序和启动屏幕仍然显示 Xamarin 徽标。令人困惑和沮丧!

我正在运行以下环境:

Microsoft Visual Studio Enterprise 2019
Version 16.10.4

Xamarin   16.10.000.234 (d16-10@ecaf29b)
Xamarin Designer   16.10.0.115 (remotes/origin/c750fbf1bde3c720d077f51640fe197c6dac7cbe@c750fbf1b)
Xamarin Templates   16.10.5 (355b57a)
Xamarin.Android SDK   11.3.0.4 (d16-10/ae14caf)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: b4a3858
    Java.Interop: xamarin/java.interop/d16-10@f39db25
    ProGuard: Guardsquare/proguard/v7.0.1@912d149
    SQLite: xamarin/sqlite/3.35.4@85460d3
    Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-10@c5732a0
Xamarin.iOS and Xamarin.Mac SDK   14.20.0.24 (c4b89cddb)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

我正在使用 iOS 14.7.1 并使用以下默认 Nuget 包的 iPhone 7 Plus 上进行测试:

NETStandard.Library 2.0.3
Xamarin.Essentials 1.6.1
Xamarin.Forms 5.0.0.2012 

Xamarin 图标/徽标来自哪里?

更新:我发现启动图标来自 Visual Studio 的热重启功能。我在 %HOMEPATH%\AppData\Local\Temp\Xamarin\HotRestart<project> 文件夹中找到了启动图标图像。有关详细信息,请参阅<a href="/default/index/tourl?u=aHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMveGFtYXJpbi94YW1hcmluLWZvcm1zL2RlcGxveS10ZXN0L2hvdC1yZXN0YXJ0" rel="nofollow" target="_blank">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/deploy-test/hot-restart</a>。从页面:</project>

限制

  • 目前只有使用 Xamarin.Forms 和 iOS 设备构建的 iOS 应用 支持。
  • 仅支持 64 位 iOS 设备。从 iOS 11 开始,Apple 不再 允许在 32 位架构上运行 iOS 应用程序(早期设备 比 iPhone 5s)。
  • Storyboard 和 XIB 文件不受支持,如果出现以下情况,应用程序可能会崩溃 它试图在运行时加载这些。使用 HOTRESTART 预处理器 阻止此代码执行的符号。
  • 不支持静态 iOS 库和框架,您可能会看到 如果您的应用尝试加载这些错误或崩溃。使用 HOTRESTART 预处理器符号以防止此代码执行。 支持动态 iOS 库。
  • 您不能使用 Xamarin 热重启来创建应用程序包以进行发布。你仍然需要一台 Mac 机器来完成一个完整的 为您的应用程序编译、签名和部署以 生产。
  • 当前不支持资产目录。使用热重启时,您的应用将显示 Xamarin 的默认图标和启动屏幕 应用。与 Mac 配对或在 Mac 上开发时,您的资产 目录将起作用。

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 2020-12-03
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2013-10-19
    • 2012-09-29
    相关资源
    最近更新 更多