Xamarin.ios 为Xamarin表单使用PCLStorage时,ios本地存储在哪里?

Xamarin.ios 为Xamarin表单使用PCLStorage时,ios本地存储在哪里?,xamarin.ios,xamarin.forms,portable-class-library,Xamarin.ios,Xamarin.forms,Portable Class Library,我正在使用PCLStorage将映像存储在localStorage中,并通过返回的路径访问它们 它工作正常,但问题是,每当我再次开始调试应用程序时,图像都无法访问 它在本地存储器中的实际存储位置?这不是永久性的位置吗? 我想在文件系统中存储图像,在sqlite中存储相关数据和图像路径。它是一个离线应用程序,因此需要永久存储此数据 任何关于这方面的建议都会有所帮助 谢谢尝试以下步骤 这个接口相当简单,因为在将映像保存到磁盘时,我们只对传递字节数组和文件名感兴趣 public interface I

我正在使用PCLStorage将映像存储在localStorage中,并通过返回的路径访问它们

它工作正常,但问题是,每当我再次开始调试应用程序时,图像都无法访问

它在本地存储器中的实际存储位置?这不是永久性的位置吗? 我想在文件系统中存储图像,在sqlite中存储相关数据和图像路径。它是一个离线应用程序,因此需要永久存储此数据

任何关于这方面的建议都会有所帮助

谢谢

尝试以下步骤

这个接口相当简单,因为在将映像保存到磁盘时,我们只对传递字节数组和文件名感兴趣

public interface IPicture
{
    void SavePictureToDisk (string filename, byte[] imageData);
}
DependencyService将图像保存委托给相应的类。DependencyService的用法是:

DependencyService.Get<IPicture>().SavePictureToDisk("ImageName", GetByteArray());

我在Xamarin论坛上得到了这个问题的答案,所以只要更新这里的链接,它就能帮助其他人

正如这里所解释的,每次我们重新部署应用程序时,核心路径都会发生变化,这就是为什么在重新部署时,我无法在保存它的路径上找到图像。因此,现在我只保存部分路径,如folderName \映像名和我在运行时找到的核心路径的其余部分


这就解决了我的问题。

谢谢你的回复。我知道我们可以使用依赖服务来完成。但我只是想知道这里解释的PCLStorage。这对我来说很好,但我面临的唯一问题是重新调试应用程序时无法访问图像。否则,在关闭应用程序并在设备中重新启动应用程序后,其工作正常。所以我想知道PCLStorage实际上在哪里存储图像?
[assembly: Xamarin.Forms.Dependency(typeof(Picture_iOS))]

namespace ImageSave.iOS
{
    public class Picture_iOS: IPicture
    {
        public void SavePictureToDisk(string filename, byte[] imageData)
        {
            var MyImage = new UIImage(NSData.FromArray(imageData));
            MyImage.SaveToPhotosAlbum((image, error) =>
            {
                //you can retrieve the saved UI Image as well if needed using
                //var i = image as UIImage;
                if(error != null)
                {
                    Console.WriteLine(error.ToString());
                }
            });
        }
    }
}