我从网络服务下载了一张图片,需要在Safari中打开图片或将其保存到相机胶卷。我试图在Safari中打开图像,但safari无法打开。
var safari = UIApplication.SharedApplication;
var uri = new NSUrl(path); // where the image is saved to
safari.OpenUrl(uri);
这会编译,但Safari无法启动
我保存到相机胶卷的代码是
PHPhotoLibrary.SharedPhotoLibrary.PerformChanges(() =>
{
using (var pool3 = new NSAutoreleasePool())
{ pool3.InvokeOnMainThread(delegate ()
{ PHAssetChangeRequest.FromImage((UIImage)UIImage.FromFile(path));
});
}
}, (t, err) =>
{
if (!t)
{
using (var pool1 = new NSAutoreleasePool())
{
pool1.InvokeOnMainThread(delegate () {
var alert = new UIAlertView("Error saving file", "An error has occured saving your photo to the camera roll", null, "OK");
alert.Show();
};
}
else
{
using (var pool2 = new NSAutoreleasePool())
{
pool2.InvokeOnMainThread(delegate (){
var alert = new UIAlertView("Image saved", "Your image has been saved to the camera roll", null, "OK");
alert.Show();
});
};
}
});
崩溃并烧伤(已设置正确的权限)
我不知道为什么这些都不正常,因为它们似乎是正确的。
答案 0 :(得分:0)
您无法使用safari打开本地路径,这在iOS上是不允许的(应用程序是沙盒式的),因此您需要使用远程URL或拥有自己的UIWebView
或{{1或者WKWebView
以类似体验的形式显示该图像。 Here is a blog post in the Xamarin Site关于这个问题。
此处有一个很好的recipe in the Xamarin site可以将照片保存到相机胶卷中,您可以根据它自行解决。
希望这有帮助!