Как решить «фатальную ошибку: модуль ‘barcode_scan’ не найден» в codemagic?

#ios #flutter #codemagic

#iOS #флаттер #codemagic

Вопрос:

Я создал приложение для Android с помощью flutter и Android studio, и все хорошо, оно было создано, протестировано и развернуто, теперь я пытаюсь создать версию ios с использованием той же кодовой базы, но у меня нет mac… Итак, я использую codemagic.io чтобы создать приложение для ios, но когда я пытаюсь создать приложение, оно выдает мне эту ошибку:

введите описание изображения здесь

Ошибка вызвана для этого пакета, в нем говорится, что он не может быть найден, но я понятия не имею, что делать, потому что в версии Android, которую я создал в android studio, она работала отлично, я даже пытался создать apk в codemagic, и это тоже сработало, проблема в том, чтоспецифично для ios. Любая помощь?

Ответ №1:

Во многих случаях это происходит из-за несоответствия версий. Похоже, что на странице паба указано, что минимально необходимая цель развертывания для barcode_scan равна 11.

Таким образом, я бы рекомендовал попытаться проверить, установлены ли у вас цели развертывания iOS и версии 11 во всем вашем проекте — очевидные места для поиска: project.pbxproj, AppFrameworkInfo.plist и ваш podfile.

Я думаю, было бы также безопасно удалить ваш pubspec.lock и podfile.заблокируйте файлы перед попыткой сборки и запустите flutter clean.

Комментарии:

1. Извините за поздний ответ… Я изменил цель развертывания, и это не сработало, как я могу удалить файл pubspec.lock и запустить flutter clean? В сценарии предварительной сборки?, я совершенно новичок в этом CI.

2. Если файл pubspec.lock существует, значит, он находится в вашем репозитории, и вы можете просто удалить его, flutter clean вы можете запустить в своем сценарии предварительной сборки, если хотите, да. Я бы также попытался проверить канал Codemagic slack, чтобы получить более быструю помощь.

3. И я думаю, что я приму предложение slack, потому что проблема остается даже после всего этого.

Ответ №2:

Вам нужно добавить пакет в ваш файл pubspec.yaml.

   dependencies:
    barcode_scan: ^3.0.1
  

После этого вам необходимо установить пакет с помощью этой команды:

   flutter pub get
  

Вы можете прочитать больше здесь.

Комментарии:

1. Трижды проверил, проблема не в зависимостях, я использую тот же код, который я использовал в версии для Android, для создания версии для ios… Проблема в codemagic, так или иначе, он не может найти модуль.

2. Вы решили? У меня такая же проблема.

3. та же проблема случилась со мной в Xcode, я думаю, что это проблема с совместимостью между минимальной целью ios и пакетом