Задняя камера не работает в Ipad в приложении Xamarin Forms ... из-за стиля конфигурации? - PullRequest
0 голосов
/ 28 января 2019

Используя @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 для этой страницы?Под этим я подразумеваю уничтожение любой конфигурации пользовательского интерфейса, которая может остаться незамеченной?

Любое руководство очень ценится

1 Ответ

0 голосов
/ 29 января 2019

Аллилуйя!

Максимальный UISlider.Appearance.MinimumTrackTintColor и UISlider.Appearance.MaximumTrackTintColor действительно были скрыты в Grial!

Это ссылка для исправления!

https://github.com/UXDivers/Grial-UI-Kit-Support/issues/333

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...