ios - 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;
这给了我一个这样的权限对话框:
当我选择“选择照片...”然后选择我允许应用程序使用的照片时,库再次出现,我可以选择任何我想要的照片,即使是我第一次没有选择的照片大约。
这是选择照片的预期行为...,我可以删除选择照片...选项吗?
解决方案
该软件包不再受到维护,因此不确定它是否按预期工作。
您应该迁移到Xamarin.Essentials MediaPicker。它将自动为您处理权限请求。
此外,您似乎已经在使用 Xamarin.Essentials。
确保您遵循文档中详述的步骤。这意味着修改info.plist
.
推荐阅读
- powershell - 如何从给定的 URL 解析基本路径?
- python - Flask 使用参数重定向到外部 URL
- wordpress - 如何仅在 wordpress 主页上禁用缓存
- r - 从R中的作者姓名中提取非英文字符,除了空格
- javascript - 为什么 Flow 假设这个函数返回一个 RegExp?
- python - 写入 python 和 panda 文件时出现问题
- html - html5 视频“海报”属性是否会阻止视频加载?
- common-lisp - (ASDF 3) 如何将文件|组件标记为“脏”或需要重建?
- react-native - 我是 React-Native 的新手,我试图在单击按钮后从一个屏幕移动到另一个屏幕
- api - 将数据模型转换为 Android 中的另一个和 api 调用