Я просто переношу приложение 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);
}
}
Прежде всего, я думаю, вы должны очистить свой вопрос. Есть много несвязанных строк, возможно, вы сделали копию. Что касается вашей проблемы, унифицированный API немного изменил методы. Теперь Mac и iOS используют одну и ту же библиотеку. Вам нужно будет искать правильные перегрузки и потенциально другой способ добиться того, что вы пытаетесь сделать. –