我在為iOS設備開發時,在M1 Macbook上遇到了一個非常奇怪的錯誤。這是 Flutter 模板中的一個簡單的圖片選取功能(完整代碼此處)。這在 Android 上運行得非常好,但在蘋果 iPhone 模擬器上卻不行(在模擬器上運行 iOS 14),在那里它給出了一個錯誤,即回傳 null。
floatingActionButton: FloatingActionButton(
onPressed: () async {
await _getImageFromGallery();
//print('Image selected');
},
tooltip: 'Increment'/span>,
孩子。Icon(Icons.add)。
),
下面是image_picker的圖片提取功能。^0.8.3 1。我嘗試了幾個不同的版本,成功率極低。
final picker = ImagePicker();
檔案? imagePath。
Future _getImageFromGallery() async {
try {
var pickedFile = await picker.pickImage(source: ImageSource.gallery)。
print('pickFile: ${pickedFile!.path}') 。
setState(() {
imagePath = File(pickFile.path);
});
} catch(錯誤) {
print('error: $error')。
}
如果有人能提供幫助,將非常感謝!
uj5u.com熱心網友回復:
可能是權限問題,你可以檢查一下permission_handler包,看看是否能解決你的問題。
uj5u.com熱心網友回復:
在你的Android mainfest檔案中添加這個權限
<
在你的Android mainfest檔案中添加這個權限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />/code>
對于IOS來說,將這一行添加到/ios/Runner/Info.plist:
<key>NSMicrophoneUsageDescription</key>
<string>需要麥克風訪問</string>。
<key>NSMotionUsageDescription</key>
<string>運動使用要求</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>請允許訪問照片library,以便您可以輕松上傳您的照片。
<key>NSPhotoLibraryUsageDescription</key>
<string>請允許訪問照片library,這樣你就可以輕松上傳你的照片了.</string>。
在pubspec中添加這一行
image_picker : ^0.8.4
這是我目前在應用中使用的代碼。
onTap: () async{
String path = await getImagePath();
print(path)。
if(path !="Exceed Limit" && path!="noselect")
{
File imagefile = File(path);
}
}
Future<String> getImagePath() async{
final ImagePicker _picker = ImagePicker();
//挑選一張圖片。
final XFile? image = await _picker.pickImage(
源。ImageSource.gallery)。)
if (image?.path != null) {
print(image!.path)。
int size = await image.length()。
double sizevalueinmb = size / (1024 * 1024)。)
if (sizevalueinmb < 5) {
String path = image.path;
return path。
}
else {
print("Your Image File Exceeded Size Limit of 5mb!") 。
return "Exceed Limit";
}
}
else {
print("用戶未選擇任何影像")。
return "noselect"。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/306775.html
標籤:
