首页 > 解决方案 > Xamarin 表单 - MediaPlugin - 照片选择器权限未按预期工作

问题描述

我正在使用 Xamarin.Forms 和 MediaPlugin https://github.com/jamesmontemagno/MediaPlugin,这是我的代码:

if (!CrossMedia.Current.IsPickPhotoSupported)
                {
                    await DisplayAlert("Photos Not Supported", "Sorry! Permission not granted to photos.", "OK");
                    return;
                }

                MediaFile file = null;

                if (await Permissions.RequestAsync<Permissions.Photos>() == Xamarin.Essentials.PermissionStatus.Granted)
                {
                    file = await Plugin.Media.CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions
                    {
                        PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium,

                    });
                }

                if (file == null)
                    return;

                var imageSource = ImageSource.FromStream(() =>
                {
                    var stream = file.GetStream();
                    return stream;
                });

                PickImage.Source = imageSource;

这给了我一个这样的权限对话框:

在此处输入图像描述

当我选择“选择照片...”然后选择我允许应用程序使用的照片时,库再次出现,我可以选择任何我想要的照片,即使是我第一次没有选择的照片大约。

这是选择照片的预期行为...,我可以删除选择照片...选项吗?

标签: iosxamarin.forms

解决方案


该软件包不再受到维护,因此不确定它是否按预期工作。

您应该迁移到Xamarin.Essentials MediaPicker。它将自动为您处理权限请求。

此外,您似乎已经在使用 Xamarin.Essentials。

确保您遵循文档中详述的步骤。这意味着修改info.plist.


推荐阅读