Файл Plugin.h не найден: флаттер и xcode - PullRequest
2 голосов
/ 23 марта 2020

Когда я пытаюсь запустить свой проект в xcode, я получаю следующую ошибку:

'auto_orientation/AutoOrientationPlugin.h' file not found.

Если я удаляю этот плагин, он go переходит к следующему плагину и завершается ошибкой. h файл для этого плагина и т. д. для каждого отдельного плагина.

Раньше эта проблема возникала только когда я пытался создать архив, но он всегда работал без проблем. Теперь он даже не запустится.

Существует множество потоков по этому поводу, и я пробежал по ним, но до сих пор не смог найти ни одного работающего предложения.

Pubspe c. Файл yaml, согласно запросу:

name: app_name
description: My application.

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# Read more about versioning at semver.org.
version: 6.0.0

environment:
  sdk: ">=2.3.0-dev.0.5 <3.0.0"


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
  firebase_admob: 0.5.5
  screen: 0.0.5
  image_picker: 0.6.1
  firebase_auth: 0.11.1+7
  shared_preferences: 0.4.3
  rflutter_alert: 1.0.2
  url_launcher: 5.0.3
  in_app_purchase: 0.2.0
  firebase_dynamic_links: 0.4.0+4
  app_review: 1.1.0+1
  auto_orientation: 1.0.4
  vibration: 1.2.1

dev_dependencies:
  flutter_test:
    sdk: flutter



# For information on the generic Dart part of this file, see the
# following page: https://www.dartlang.org/tools/pub/pubspec

# The following section is specific to Flutter.

flutter:
  assets:
  - lib/images/
  - lib/images/example1.png
  - lib/images/example2.png
  - lib/images/example3.png

uses-material-design: true

Снимок экрана для Cenk:

enter image description here

Ответы [ 5 ]

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

В конце концов я нашел исправление для этого на другом форуме:

Похоже, открыв проект, дважды щелкнув Runner.xcworkspace вместо Runner.xcodeproj, xcode может, наконец, выяснить, где все Это.

Я попробовал это, и это буквально работает. Теперь мое приложение будет работать с новой ошибкой (конечно):

malloc: can't allocate region securely

Но я задам новый вопрос для этого.

0 голосов
/ 28 марта 2020

вам определенно не нужно стирать всю папку ios /.

1) flutter clean причина почему бы не

2) rm ios/Podfile.lock

3) rm -rf ios/Pods

4) rm -rf ~/.pub-cache/hosted/pub.dartlang.org/ (или где угодно Вы устанавливаете это, чтобы жить)

5) flutter packages get

затем запустите / соберите ваше приложение, как вы обычно это делаете.

0 голосов
/ 26 марта 2020

У меня были такие проблемы раньше. Ошибка была в том, что я удалил зависимость пакета из моего pubspec.yaml. Как мы знаем, удаление пакета как такового удалит все файлы флаттера, которые он скачал из pub.dev, но забыл delete permission и method, которые я добавил в Info.plist и AppDelegate.swift вручную как зависимости для этого пакета ,

Когда Xcode видит это methods в AppDelegate.switf, он ищет требуемые файлы, но не может их найти, поскольку пакет был удален из pubspe c .yaml.

Так что перепроверьте, соответствует ли содержимое этих двух файлов пакетам, которые их требуют.

Надеюсь, это поможет.

Редактировать

Исходя из ваших pubspec.yaml, они являются некоторыми keys, которые необходимо добавить в файлы AndroidManifest и info.plist соответственно. Я предполагаю, что вы не сделали этого из вашего комментария.

Locations

AndroidManifist находится в android/app/src/main/AndroidManifiest.xml info.plist находится в iso/Runner/Info.plist

  1. Для пакета firebase_admob вам нужно добавить следующее в AndroidManifest

<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="[ADMOB_APP_ID]"/>

Где [ADMOD_APP_ID] - идентификатор вашего приложения. Проверьте firebase_admod , чтобы увидеть, как инициализировать идентификатор приложения и как инициализировать плагин

Затем вам нужно добавить следующее к вашему info.plist

<key>GADApplicationIdentifier</key> 

<string>[ADMOB_APP_ID]</string>
Для screen 0.0.5 вам необходимо добавить следующее разрешение в ваш AndroidManifest

<uses-permission android:name="android.permission.WAKE_LOCK" />

Для image_picker: 0.6.1 вам также необходимо добавить некоторое разрешение к info.plist.

Добавьте следующие ключи в файл Info.plist, расположенный в /ios/Runner/Info.plist:

  • NSPhotoLibraryUsageDescription - опишите, почему вашему приложению требуется разрешение для фото библиотека. Это называется Privacy - описание использования библиотеки фотографий в визуальном редакторе.
  • NSCameraUsageDescription - описывает, почему вашему приложению необходим доступ к камере. Это называется Privacy - описание использования камеры в визуальном редакторе.
  • NSMicrophoneUsageDescription - описывает, почему вашему приложению необходим доступ к микрофону, если вы собираетесь записывать видео. Это называется «Описание использования микрофона для конфиденциальности» в визуальном редакторе.

Android Настройка не требуется - плагин должен работать из коробки

Чтобы не быть лишним, вам нужно просмотреть пакет на вашей странице pubspec.yaml pub.dev и следовать инструкции, чтобы добавить все зависимости для работы пакетов.

Надеюсь, ваш проект компилируется сейчас!

0 голосов
/ 27 марта 2020

Иногда я также получаю ios ошибку компиляции в моем проекте, работающем должным образом, я создаю чистый проект с тем же именем, копирую туда свои коды, и он становится лучше.

Я предлагаю вам попробовать, если можете не можете найти решение.

enter image description here

0 голосов
/ 26 марта 2020

Я полагаю, что по какой-то причине у вас отсутствуют некоторые файлы.

Я надеюсь, что эти шаги могут решить эту проблему:

  1. резервное копирование папки проекта флаттера
  2. delete " ios "папка из вашего проекта флаттера
  3. run flutter create -i swift, эта команда воссоздает новую папку 'ios'
  4. запуска проекта флаттера
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...