1

当我尝试在IOS端使用Image_Picker时, Flutter应用程序没有启动。在 Android 端,一切正常。

我在info.plist添加了以下权限。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- for Image Picker -->  
    <key>NSPhotoLibraryUsageDescription</key>
    <String>This app requires access to the photo library</String>
    <key>NSCameraUsageDescription</key>
    <string>This app requires access to the camera</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>This app does not require access to the microphone</string>
    
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>

当我从info.plist中删除上述属性时,该应用程序可以正常工作,直到我使用相机。但是,如果我将属性添加到info.plist中,应用程序将无法启动。

尝试运行 IOS 应用程序时出现以下错误。

/Users/abcshah/Library/Developer/Xcode/DerivedData/Runner-btwtkgmqdpzzlbcimpfmyibbmiua/Build/Intermediates.noindex/Runner.build/Debug-iphonesimulator/Runner.build/assetcatalog_generated_info.plist _

错误:无法从文件中读取属性列表:/Volumes/abc/projects/new/iconspro/ios/Runner/Info.plist:操作无法完成。(XCBUtil 。PropertyListConversionError错误1 。)(在项目 'Runner' 的目标 'Runner' 中)

注意:使用新的构建系统

注:规划建设

注意:构建构建描述

无法为模拟器构建应用程序。在 iPhone 8 Plus 上启动应用程序时出错。

4

2 回答 2

4

看来我的第一个猜测并没有完全关闭。我也在我的项目中使用 image_picker 插件,并且能够通过从字符串更改标签来产生一堆错误

<key>NSPhotoLibraryUsageDescription</key> 
<string>This app requires access to the camera.</string>

字符串

<key>NSPhotoLibraryUsageDescription</key> 
<String>This app requires access to the camera.</String>

因此,我建议注意标签的大小写。
确保所有<string>标签都是小写的。

于 2020-03-09T21:06:48.720 回答
0

听起来您需要在传统模式下构建。在 xcode 中加载您的项目并转到:

File -> Workspace Settings -> Build System,然后更改为Legacy Build System

清洁然后重建,这应该适合你

于 2020-03-09T20:56:21.713 回答