Используя @JamesMontemago Xam.Plugin.Media, я получаю ту же ошибку, что и другой пост, но ответ не относится ко мне.Короче задняя камера работает на всех устройствах панели ipad.Опробовал на многих физических устройствах, и это всегда Ipads, которые выходят из строя.На Ipads передняя камера работает отлично, но вызов задней камеры вызывает ее сбой.
К сожалению, использование задней камеры абсолютно необходимо, приложение делает фотографии бутылок вина и винных бутылок, чтобымои обширные знания по их очистке, не обладают способностью принимать селфи.
Аналогичный пост:
Задняя камера не работает в Ipad в приложении Xamarin форм
Для этого поста было найдено решение:
https://github.com/jamesmontemagno/MediaPlugin/issues/173
Приложение зависает при попытке представить заднюю камеру на iPad
Этот пост и еще один относятся к коду конфигурации пользовательского интерфейса в файле AppDelegate, который вызывал колебание камеры.В этом случае именно включение:
UISlider.appearance().minimumTrackTintColor = themeUI.PrimaryColor.withAlphaComponent(100)
вызвало сбой, вызвав недопустимую контекстную ошибку, когда во время рисования камеры библиотека CoreGraphics вызывала:
[UISlider setMinimumTrackTintColor];
Я просматривал свои файлы и вообще не могу найти такого изменения конфигурации UISlider, поэтому это решение, к сожалению, мне не помогает.
Код содержит ошибки в строке "var file =" следующегоcode:
takePhoto.Clicked += async (sender, args) =>
{
if (!CrossMedia.Current.IsCameraAvailable ||
!CrossMedia.Current.IsTakePhotoSupported)
{
await DisplayAlert("No Camera", ":( No camera available.",
"OK");
return;
}
var file = await CrossMedia.Current.TakePhotoAsync(new
Plugin.Media.Abstractions.StoreCameraMediaOptions
{
Directory = "Test",
SaveToAlbum = true,
CompressionQuality = 25,
CustomPhotoSize = 100,
PhotoSize = PhotoSize.MaxWidthHeight,
MaxWidthHeight = 200,
DefaultCamera = CameraDevice.Front,
Name = $"{DateTime.UtcNow}.jpg",
});
if (file == null)
return;
await DisplayAlert("File Location", file.Path, "OK");
image.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
file.Dispose();
return stream;
});
};
Запуск трассировки стека путем установки точки останова этой строки и вызова окна стека вызовов, когда, к сожалению, оно было получено, просто дало мне:
"condition` array->len == 1 'не встретил ошибку SIGABRT "
Так что ничего не поделаешь.
ОДНАКО!
Я использую GrialKit, чтобы помочь с настройкой пользовательского интерфейса, и ямне интересно, есть ли в этом комплекте что-то, что настраивает ползунки и, следовательно, мешает задней камере.
Поэтому мой вопрос:
Использование файла с выделенным кодом страницы XAML, гдеПоявится камера, могу ли я каким-либо образом сбросить конфигурацию пользовательского интерфейса на какой-то стандарт Xamarin Forms для этой страницы?Под этим я подразумеваю уничтожение любой конфигурации пользовательского интерфейса, которая может остаться незамеченной?
Любое руководство очень ценится