Xamarin.ios 尝试将iOS项目中资产目录中的图标与Xamarin TabbedPage一起使用时出现异常

Xamarin.ios 尝试将iOS项目中资产目录中的图标与Xamarin TabbedPage一起使用时出现异常,xamarin.ios,xamarin.forms,asset-catalog,tabbedpage,Xamarin.ios,Xamarin.forms,Asset Catalog,Tabbedpage,我在VS 2017中创建了一个Xamarin表单项目,首先添加了一个带有三个选项卡的TabbedPage。然后,我将图标添加到Android(资源/绘图)和iOS(资产目录/图标)项目中 当我在Android上启动该项目时,它工作正常,但在iOS上我遇到一个异常,即无法加载UIImage,因为initWithCOntentsOfFile返回了nil。这实际上是正确的,因为这不是访问资产的正确方法。但是调用方法的是选项卡页,所以我对此无能为力 TabbetPage看起来非常基本 <?xml

我在VS 2017中创建了一个Xamarin表单项目,首先添加了一个带有三个选项卡的
TabbedPage
。然后,我将图标添加到Android(资源/绘图)和iOS(资产目录/图标)项目中

当我在Android上启动该项目时,它工作正常,但在iOS上我遇到一个异常,即无法加载
UIImage
,因为
initWithCOntentsOfFile
返回了nil。这实际上是正确的,因为这不是访问资产的正确方法。但是调用方法的是
选项卡页
,所以我对此无能为力

TabbetPage
看起来非常基本

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:local="clr-namespace:GreenThumb"
            x:Class="GreenThumb.MainPage">
    <NavigationPage Title="Today" Icon="current.png">
        <x:Arguments>
            <local:Current />
        </x:Arguments>
    </NavigationPage>
    <NavigationPage Title="Overview" Icon="overview.png">
        <x:Arguments>
            <local:Overview />
        </x:Arguments>
    </NavigationPage>
    <NavigationPage Title="Settings" Icon="settings.png">
        <x:Arguments>
            <local:Settings />
        </x:Arguments>
    </NavigationPage>
</TabbedPage>

资产目录如下所示:

这个问题似乎很老了,但除了一些非常肮脏的黑客之外,我还没有找到任何解决方案


有没有干净的解决办法?或者我只需将所有图像添加到资源文件夹而不是资产目录中?

同样的错误发生在我身上,我将图像放在iOS上的
.xcsets

当我把图片放在Resources文件夹中时,它们通常出现在我的选项卡页面上

在中,他们说把图像放在资源文件夹中

iOS-使用生成操作将图像放置在资源文件夹中: 捆绑资源。还应提供图像的视网膜版本- 分辨率的两倍和三倍,在屏幕上有@2x或@3x后缀 文件扩展名之前的文件名(例如。myimage@2x.png)


我把我所有的图像都放在
.xcsets
文件夹中,它们显然工作得很好,但似乎不是每个案例都能工作。

我过去在这个问题上很挣扎。如果将选项卡式页面的图标放在.xcsets中,则该图标在iOS中似乎不起作用。 我把那些.png文件移到了Resources文件夹中,这就产生了神奇的效果。
我想这是Xamarin上的一种bug。

我相信您可以在xaml中显式分配源位置。使用平台名称。那么安卓呢?我想支持这两种平台。使用平台上的名称,您只需在.xaml表单中为每个平台设置一个名称,就可以在需要时提供一点灵活性。此外,您是否已将所有图像添加到“当前”的资产目录中?