Ошибки при добавлении зависимости image_picker для флаттера (iOS) - PullRequest
1 голос
/ 16 января 2020

Мне нужно было использовать image_picker для моего приложения. Я добавил зависимость image_picker в мой файл pubspe c .yaml, а для iOS я добавил NSCameraUsageDescription NSPhotoLibraryUsageDescription NSMicrophoneUsageDescription в файл info.plist, но я получаю эту ошибку при попытке запустить приложение на симуляторе iOS.

Это ошибка, которую я получил при попытке запустить приложение. `Запуск lib / main.dart на iPhone 11 Pro Max в режиме отладки ... /Users/sirapol/Desktop/FirstCareFrontEnd/care_now_frontend_v1/ios/Runner/Info.plist: ошибка списка свойств: в строке обнаружен неключевой ключ 27 / JSON ошибка: JSON текст не начинался с массива или объекта и опция, позволяющая не устанавливать фрагменты. Запуск сборки Xcode ...

Выполнение сборки Xcode. 2.4s Не удалось создать iOS приложение Вывод ошибки из сборки Xcode: ↳ ** СБОЙ СТРОИТЕЛЬСТВА **

Вывод Xcode: Users / Users / sirapol / Desktop / FirstCareFrontEnd / care_now_frontend_v1 / build / ios / Debug-iphonesimulator / flutter_plugin_android_lifecycl e / flutter_plugin_android_lifecycle.framework: разветвление ресурса, информация Finder или подобный детрит не разрешен. Команда CodeSign завершилась неудачно с ненулевым кодом выхода. Примечание. Убедитесь, что параметры сборки «Архитектуры» и «Действующие архитектуры» этой цели правильно настроены для платформы iOS Simulator. (в цели 'image_picker' из проекта 'Pods') предупреждение: отображение архитектуры arm64 на x86_64. Убедитесь, что параметры сборки «Архитектуры» и «Действующие архитектуры» этой цели правильно настроены для платформы iOS Simulator. (в целевом 'image_picker' из проекта 'Pods') предупреждение: Возможности для подписи и возможности могут работать неправильно, потому что его права используют идентификатор команды заполнителя. Чтобы решить эту проблему, выберите команду разработчиков в редакторе Runner. (в цели 'Runner' из проекта 'Runner') `

это часть моего pubspe c .yaml файла

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  provider: ^3.0.0
  http: ^0.12.0+4
  image_picker: ^0.6.3+1
  path_provider: ^1.1.0


dev_dependencies:
  flutter_test:
    sdk: flutter



Это мой файл 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>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>care_now_frontend_v1</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>$(FLUTTER_BUILD_NAME)</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>$(FLUTTER_BUILD_NUMBER)</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
  <key>NSLocationWhenInUseUsageDescription</key>
    <key>NSCameraUsageDescription</key>
    <key>NSPhotoLibraryUsageDescription</key>
    <key>NSMicrophoneUsageDescription</key>
  <false/>
</dict>
</plist>

Понятия не имею, почему происходит ошибка. Потому что я сделал это один раз и не получил ошибки. Спасибо за вашу помощь

1 Ответ

2 голосов
/ 29 марта 2020

Вы должны быть уверены, что добавили значение после ключевых значений в plist-файлах. Добавьте строковые значения под этими ключами, и это должно решить проблему.

Пример:

<key>NSLocationWhenInUseUsageDescription</key>
<string>Allow access to your phone's location</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Allow access your photo library</string>
<key>NSCameraUsageDescription</key>
<string>Allow access your phone's camera</string>
<key>NSMicrophoneUsageDescription</key>
<string>Allow the app to record using your phone's microphone</string>

Что касается ошибок сопоставления архитектуры, попробуйте установить для цели развертывания iOS значение 9.0 или выше в xcode project.

Кроме того, я заметил, что у вас есть конечное значение в вашем примере кода, которое выглядит так, как будто оно должно быть перемещено в

<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
...