使用 xamarin / Visual Studio Mac,AppIcon 未在 IOS 上显示,但可以使用 xcode

AppIcon not show on IOS with xamarin / Visual Studio Mac, but work with xcode

我已经浪费了 3 天时间尝试将图标放在应用程序上。

我使用 https://makeappicon.com/ 并下载文件。替换 AppIcon.appiconset 文件夹。没用。

我尝试了我发现的一切,包括清理、擦除模拟器、擦除缓存,最后使用 Visual Studio Mac 安装程序完全干净地重新安装所有内容。

还是一样。

我创建了一个新的黑色项目并添加了图标。

还是一样。

最后我创建了一个 xcode 项目,做同样的事情,第一次尝试就成功了。

另外,我把资源中的AppIcon去掉,重新手动创建,然后手动设置图标。

我在 .fsproj 中有:

<ItemGroup>
<Folder Include="Data\" />
<Folder Include="App\img\" />
<Folder Include="App\img\provemax\" />
<Folder Include="Assets.xcassets\AppIcon.appiconset\" />
</ItemGroup>

<ImageAsset Include="Assets.xcassets\Contents.json" />
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-20x20%401x.png" />
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\ItunesArtwork%402x.png" />

P.D:我也在 C# 中创建了一个空项目,结果相同,link 这里:

Link to demo project

您缺少资产周围的封闭物:

<ItemGroup>
<Folder Include="Data\" />
<Folder Include="App\img\" />
<Folder Include="App\img\provemax\" />
<Folder Include="Assets.xcassets\AppIcon.appiconset\" />
</ItemGroup>
<ItemGroup>
<ImageAsset Include="Assets.xcassets\Contents.json" />
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json" />
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-App-20x20%401x.png" />
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\ItunesArtwork%402x.png" />
</ItemGroup>

我在 VS 社区提问,Phil Mitchell 给了我一个解决方案:

https://developercommunity.visualstudio.com/content/problem/398309/icon-not-show-on-ios.html

Did you check the build warnings when you compiled the app. You should see a bunch of warnings about missing .png files in the AppIcon image set.

Unlike Xcode, VS requires a reference to each iOS asset .png file in the .csproj file as well as the Assets.xcassets Contents.json file. It's redundant; but it's just how VS works.

If you drag each .png file from Finder to the AppIcon viewer in VS it will add the .csproj reference, the warnings should go away and the icons should appear on the devices.