Here is a what's happening :我正在尝试将图片从图库上传到iOS模拟器上的应用程序。Image Picker可以打开图库,但无法选择图片并返回应用程序。以下是我的简单代码:
File _image;
final picker = ImagePicker();
Future getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.gallery);
setState(() {
if (pickedFile != null) {
_image = File(pickedFile.path);
} else {
print('No image selected.');
}
});
}
和我小部件:
body: Center(
child: _image != null ? Image.file(_image) : Text('no Image'),
),
提前感谢大家
5条答案
按热度按时间4nkexdtk1#
对于iOS,如documentation中所述,您需要在本机端进行一些与权限相关的配置:
将以下键添加到Info.plist文件(位于/ios/Runner/Info.plist中):
除此之外,它应该可以很好地与你的代码一起工作。图像应该适合像这样的
Flexible
,或者可能是一个SizedBox以避免溢出:jtw3ybtb2#
q5lcpyga3#
在我的例子中,我将我的图像拾取器库从0.6.3更新为0.8.4,希望这对任何人都有帮助。
kzmpq1sx4#
您需要在iOS模块的info.plist文件中添加用户权限(密钥)和这些权限的用途(值)。
将以下键添加到Info.plist文件(位于/ios/Runner/Info.plist中):
NSPhotoLibraryUsageDescription -描述您的应用需要照片库权限的原因。这在可视化编辑器中称为隐私-照片库使用描述。
NSCameraUsageDescription -描述您的应用需要访问摄像头的原因。这在可视化编辑器中称为隐私-摄像头使用描述。
相关性:图像选择器(_P):^0.8.4+4个
导入“软件包:图像拾取器/图像拾取器. dart”;
xjreopfe5#
对于每个还在处理这个问题的人
请不要在image_picker文档中出现此问题,并确保在真实的设备上进行了测试:
从版本0.8.1开始,iOS实现使用PHPicker在iOS 14或更高版本上拾取(多个)图像。由于实现了PHPicker,因此无法在iOS 14+的iOS模拟器上拾取HEIC图像。这是一个已知问题。请在真实的设备上测试此问题,或使用非HEIC图像进行测试,直到Apple解决此问题