我在iPhone上的图像有问题。它们在Android(模拟器和实际设备)和iPhone模拟器上运行良好。但是,在实际的iPhone设备上,我无法显示图像,除非它们在资产目录中。我开始了一个新的项目,它确实显示。然后,我添加了文件(没有使用的文件--因为我的App.xaml.cs中唯一的东西就是显示图像的页面的加载)。在某些时候,图像退出显示,所以它似乎是某种构建错误,但我无法弄清楚。Android模拟器:
iPhone模拟器:
实际iPhone:
因此,对于iPhone,ffImageLoading可以从我的本地设备加载.svg,但不能加载.png文件或远程URL。Xamarin.图像无法加载任何内容。
有什么想法吗?是不是建筑有问题?我的生成设置为:
如果我启用Mono解释器,或者我省略了mtouch选项(所有工作都是Mono解释器禁用和mtouch选项设置),我会得到可怕的“Could not AOT the assembly...”错误。
我尝试了不同的架构。我尝试了不同的链接行为。不知道还能尝试什么。
任何帮助或想法的工作区将不胜感激!
谢谢!
格雷格
附件是来源,但它不是很多看。
Testpage2.xaml
<ContentPage.Resources>
<Style x:Key="MyImage" TargetType="Image">
<Setter Property="WidthRequest" Value="25" />
</Style>
</ContentPage.Resources>
<ContentPage.Content>
<ScrollView>
<StackLayout BackgroundColor="Wheat">
<Label Text="ffImageLoading local resource" TextColor="Red" />
<ffimageloadingsvg:SvgCachedImage Source="resource://ONEflight.BAJit.App.Images.Buttons.MyProfileButton.svg" Style="{StaticResource MyImage}" />
<Label Text="URL Image using ffImageLoading" TextColor="Red" />
<ffimageloading:CachedImage Source="https://ofpublicwebdata.blob.core.windows.net/of-public-data-aircraft-images/9ef83699-d8e8-44d9-ac94-2a26359aac9d.jpg" Style="{StaticResource MyImage}" />
<Label Text="URL Source in xaml using Xamarin.Image" TextColor="Red" />
<Image Source="https://ofpublicwebdata.blob.core.windows.net/of-public-data-aircraft-images/9ef83699-d8e8-44d9-ac94-2a26359aac9d.jpg" Style="{StaticResource MyImage}" />
<Label Text="URL Source as string in Code using Xamarin.Image" TextColor="Red" />
<Image Source="{Binding UrlStr}" Style="{StaticResource MyImage}" />
<Label Text="URL downloaded using MemStream in Code using Xamarin.Image" TextColor="Red" />
<Image Source="{Binding ImageDownloadedToMemStream}" Style="{StaticResource MyImage}" />
<Label Text="Local png using Xamarin.Image" TextColor="Red" />
<Image Source="{ex:ImageResource Images.Amenities.pets.png}" Style="{StaticResource MyImage}" />
</StackLayout>
</ScrollView>
</ContentPage.Content>
TestViewModel2.cs
public string UrlStr { get; set; }
public ImageSource ImageDownloadedToMemStream { get; set; }
public ImageSource Pets => Resources.PetsIcon;
public ImageSource URITest { get; set; }
public TestViewModel2()
{
string url = "https://ofpublicwebdata.blob.core.windows.net/of-public-data-aircraft-images/9ef83699-d8e8-44d9-ac94-2a26359aac9d.jpg";
try
{
UrlStr = url;
MemoryStream ms = new MemoryStream(new WebClient().DownloadData(url));
ImageDownloadedToMemStream = ImageSource.FromStream(() => ms);
URITest = ImageSource.FromUri(new Uri(url));
}
catch (Exception ex)
{
LogWriter.Log("Image Error: " + ex.Message);
}
}
App.xaml.cs
MainPage = new NavigationPage(new TestPage2(new TestViewModel2()));
1条答案
按热度按时间k5hmc34c1#
在AppDelegate.cs中尝试以下解决方案:
当我试图加载镜像时,我在cloudfare中遇到了身份验证问题,这对我很有效。:)