2015-01-14 3 views
4

Я просто переношу приложение Xamarin iOS в Xamarin Unified с помощью средства миграции. Код ниже работал нормально, и в приложении не было никаких ошибок или предупреждений перед миграцией. После миграции у меня появились следующие ошибки: Error-1 PresentViewController не принимает объект MediaPickerController в качестве параметра. Ошибка-2 mediaPickerController не метод DismissViewControllerОшибки Сообщение после перехода на унифицированный API

 protected void TakePicture() 
{ 
    MediaPickerController mediaPickerController = mediaPicker.GetTakePhotoUI(new StoreCameraMediaOptions 
    { 
     Name = this.PictureName + ".jpg", 
     DefaultCamera = CameraDevice.Rear 
    }); 
    if (!mediaPicker.IsCameraAvailable) 
    { 
     ShowUnsupported(); 
    } 

//Error-1 
    PresentViewController(mediaPickerController, true, null); 
    try 
    { 
     mediaPickerController.GetResultAsync().ContinueWith(t => 
     { 
      BTProgressHUD.Show("Processing"); 
      // Dismiss the UI yourself 

//Error-2 
      mediaPickerController.DismissViewController(true,() => 
      { 
       if (t.IsCanceled || t.IsFaulted) 
       { 
        BTProgressHUD.Dismiss(); 
        return; 
       } 
       MediaFile file = t.Result; 
       FinishedPickingMedia(file); 
       BTProgressHUD.Dismiss(); 
      }); 



     }, TaskScheduler.FromCurrentSynchronizationContext()); 
    } 
    catch (Exception ex) 
    { 
     Insights.Report(ex, ReportSeverity.Error); 
    } 
} 
+0

Прежде всего, я думаю, вы должны очистить свой вопрос. Есть много несвязанных строк, возможно, вы сделали копию. Что касается вашей проблемы, унифицированный API немного изменил методы. Теперь Mac и iOS используют одну и ту же библиотеку. Вам нужно будет искать правильные перегрузки и потенциально другой способ добиться того, что вы пытаетесь сделать. –

ответ

0

Вам необходимо обновить компонент Xamarin, который содержит MediaPickerController до последней версии, совместимой с Xamarin.iOS единым кодом!

Последняя версия Xamarin.Mobile - 0.7.6. Двойная проверка с вашим проектом, если вы используете более старую.

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