Xamarin.Forms 无法更改本地设备上 Xamarin.iOS 中的应用程序图标

Posted

技术标签:

【中文标题】Xamarin.Forms 无法更改本地设备上 Xamarin.iOS 中的应用程序图标【英文标题】:Xamarin.Forms can't change Application Icons in Xamarin.iOS on local device 【发布时间】:2021-06-25 20:16:43 【问题描述】:

我已按照 Microsoft 的指南和关于 SO 的赞成答案更改我的 ios 应用程序图标,但它对我不起作用。

https://docs.microsoft.com/en-gb/xamarin/ios/app-fundamentals/images-icons/app-icons?tabs=windows

https://***.com/a/54806603/3850405

为了复制,我使用了 Visual Studio 2019 16.9.2 -> 具有以下设置的新项目 Mobile App (Xamarin.Forms):

在此之后我部署到我的本地设备,iPhone 12 Pro Max 首先使用软件版本14.4.1,然后是14.4.2

我唯一的 Mac 是旧的 Macbook Pro 13" mid 2012 with 2,5GHz Dual-Core Intel Core i5。它确实有 macOS Catalina 10.15.7 和工作 Xcode 版本,但运行 iPhone 模拟器非常慢且难以测试。如果我确实使用模拟器,它将适用于模拟的iPhone 12 Pro Max iOS 14.4

然后,我通过文件系统或 Visual Studio 中的 GUI 替换了每个图像,用于资产目录 -> 资产 (File system: Assets.xcassets\AppIcon.appiconset)。当这不起作用时,我添加了一个新的 Asset Catalog 并删除了旧的,但它也不起作用。

Info.plistVisual AssetsApp Icons 下表示正确的来源。

如果我在Info.plist 中更改Application NameBundle Identifier,则值会正确更新。但是,如果我尝试在“启动图像”下编辑“启动屏幕”,该值也不会更新,仅显示 Xamarin 原始值。

即使在创建新项目之后,我也尝试清理解决方案并删除项目的每个 binobj 文件夹。

鉴于它发生在一个新项目中,我认为缓存与它没有任何关系,但我已经尝试清除这些文件夹:

Windows 电脑:

%LocalAppData%\Xamarin\

苹果机:

~/Library/Caches/Xamarin/

当我清除这些文件夹时,我什至不得不重新登录 Apple 并通过 Automatic provisioning 获取新证书,但我仍然没有得到更新的图标。

https://docs.microsoft.com/en-us/xamarin/cross-platform/troubleshooting/questions/component-storage

我错过了什么?

【问题讨论】:

您好,您的意思是更改应用程序图标只能在模拟器中使用吗? @JuniorJiang 是的 您是否尝试卸载该应用程序,然后在您的设备上重新安装它? @LeoZhu-MSFT 好几次。还尝试重新启动手机并降级 Xamarin.Forms NuGet @Ogglas 可能是环境(Mac)的问题,如果您可以使用其他Mac尝试,那就更好了。 ***.com/questions/61895597/… 【参考方案1】:

这个问题描述了我的困惑,除了我已经完成了一个 iOS 项目并准备将其部署到应用商店而不是一个新项目。我需要做的最后一件事是将默认 Xamarin 应用程序图标更改为我自己的图标。我研究了问题中提供的建议解决方案的链接,但没有成功。我还发现弗拉基米尔提出的答案太不方便尝试了。应该有一个解决方案,只涉及 Windows 上的 VS。我目前正在使用 VS 2022。

成功更新:事实证明,弗拉基米尔的答案毕竟是在正确的轨道上!我想的更难。我有一台我妻子丢弃的老式 Mac mini,所以我把它擦干净并安装了最新的 Mac OS、Xcode 和 Visual Studio for Mac。然后开始了长达一周多的尝试,尝试配置应用程序,在钥匙串中安装证书,并与许多模糊的编译器和部署错误作斗争。

如果有一些简单的建议可以给出,我会说使用 Info.plist 中的 Automatic Provisioning 选项,并确保 Bundle Identifier 与编译器创建的 bundle 的名称相匹配,例如您的项目 (iOS) 名称。使用自动配置,您不必在 developer.apple.com 网站上创建证书、ID 或配置文件。此功能会自动执行此操作。

在我终于从我的 Mac 部署应用程序后,应用程序图标和启动屏幕现在是正确的!我猜测除了 Windows 端的 Xamarin 图标之外没有任何实际需要,因为无论如何它都无法在不将其移动到 Mac 的情况下发布。我只是希望我在浪费这么多时间试图让它与插入 Windows 笔记本电脑的手机一起工作之前发现了这一点。这个故事的寓意是,对于 iOS 应用来说,越早迁移到 Mac 越好。以下是我原来的问题的描述。

所以这里是我当前设置的图像,我尝试在其中集成我的图标,包括应用程序图标和启动屏幕。但是,Xamarin 图像顽固地存在。在 iPhone 图片的右下角查看我的 γDog 应用。

Xamarin 图标来自哪里?这可能只是一个调试“功能”,当应用部署到应用商店时会消失?

这是我的设置和 Info.plist 的图像

【讨论】:

我已经按照此视频中的 iOS 程序进行操作:youtube.com/watch?v=tbKrbv9h_ZE。现在 AppIcon 资源中的所有图标都转换为我的图标,但没有任何区别。【参考方案2】:

如果有人仍然需要它。我通过以下步骤解决了它:

    获取任何运行 MacOS 的机器(如果你至少有 Mac Mini 会更容易) - 安装 XCode。 1a) 这很重要!在 XCode 上启动一个虚拟项目。 2)。在 Mac 上安装 Visual Studio 2019。 3!!) 如果您打算在 PC 上开发您的 Xamarin 项目,那么您还需要获得 PC。如果没有,请使用 Mac 在 PC 上安装 VS 2019 并创建 Xamarin 应用程序。启动它。 在 Mac 上复制 Xamarin 应用并在 Visual Studio 上打开 现在,尝试更改 Info.plist 中的图标。 (应用程序图标和加载屏幕)。必须要求您打开 XCode 进行编辑。

【讨论】:

以上是关于Xamarin.Forms 无法更改本地设备上 Xamarin.iOS 中的应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms:UWP 应用的本地化

Xamarin.forms,Android 部署问题。应用程序无法在模拟器和物理设备上部署

无法滚动在移动设备上使用 Xamarin.Forms 创建的 xaml 页面

无法确定 Xamarin Forms 应用程序是在模拟器中还是在设备上运行

如何在我的 Xamarin Forms 应用程序上本地保存一些用户数据?

Xamarin.Forms App MediaRecorder 无法在佳宇 S3 上运行