2016-04-22 2 views
1

Я загрузил изображение из веб-службы и либо должен открыть изображение в сафари, либо сохранить его в рулоне камеры. Я попытался открыть изображение в 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

Вы не можете открыть локальный путь с сафари, что не допускается прошивкой (приложения песочницу), так что вы должны будете использовать либо удаленный URL или иметь свой собственный UIWebView или WKWebView или SFSafariViewController для отображения это изображение в сафари, как опыт. Here is a blog post in the Xamarin Site по этому вопросу.

Также здесь приятно recipe in the Xamarin site, чтобы сохранить фотографию в рулоне камеры, вы можете сделать свое собственное решение на ее основе.

Надеюсь, это поможет!

Смежные вопросы