После добавления пакета cloud_firestore в мой проект возникла эта ошибка. Приложение не работает в эмуляторе IOS.

Вопрос или проблема

Запуск lib/main.dart на iPhone 16 Pro Max в режиме отладки…
Вывод CocoaPods:

Подготовка

Анализ зависимостей

Проверка целей для интеграции
  Используется настройка `ARCHS` для сборки архитектур цели `Pods-Runner`: (``)
  Используется настройка `ARCHS` для сборки архитектур цели `Pods-RunnerTests`: (``)

Получение внешних источников
-> Получение podspec для `Flutter` из `Flutter`
-> Получение podspec для `cloud_firestore` из `.symlinks/plugins/cloud_firestore/ios`
cloud_firestore: Используется версия SDK Firebase '11.2.0', определенная в 'firebase_core'
-> Получение podspec для `firebase_auth` из `.symlinks/plugins/firebase_auth/ios`
firebase_auth: Используется версия SDK Firebase '11.2.0', определенная в 'firebase_core'
-> Получение podspec для `firebase_core` из `.symlinks/plugins/firebase_core/ios`
firebase_core: Используется версия SDK Firebase '11.2.0', определенная в 'firebase_core'
-> Получение podspec для `path_provider_foundation` из `.symlinks/plugins/path_provider_foundation/darwin`

Разрешение зависимостей `Podfile`
  CDN: trunk Относительный путь: CocoaPods-version.yml существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: all_pods_versions_0_3_5.txt существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/3/5/Firebase/11.3.0/Firebase.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/3/5/Firebase/11.2.0/Firebase.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/3/5/Firebase/11.2.0/Firebase.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/3/5/Firebase/11.2.0/Firebase.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: all_pods_versions_4_2_c.txt существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/2/c/FlutterMacOS/3.16.0/FlutterMacOS.podspec.json Specs/0/8/4/GoogleUtilities/8.0.2/GoogleUtilities.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/8/4/GoogleUtilities/8.0.2/GoogleUtilities.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/8/4/GoogleUtilities/8.0.2/GoogleUtilities.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/8/4/GoogleUtilities/8.0.2/GoogleUtilities.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/8/4/GoogleUtilities/8.0.2/GoogleUtilities.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/0/8/4/GoogleUtilities/8.0.2/GoogleUtilities.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/e/9/8/FirebaseAppCheckInterop/11.3.0/FirebaseAppCheckInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/e/9/8/FirebaseAppCheckInterop/11.2.0/FirebaseAppCheckInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/e/9/8/FirebaseAppCheckInterop/11.1.0/FirebaseAppCheckInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/e/9/8/FirebaseAppCheckInterop/11.0.0/FirebaseAppCheckInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/2/7/FirebaseAuthInterop/11.3.0/FirebaseAuthInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/2/7/FirebaseAuthInterop/11.2.0/FirebaseAuthInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/2/7/FirebaseAuthInterop/11.1.0/FirebaseAuthInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/2/7/FirebaseAuthInterop/11.0.0/FirebaseAuthInterop.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/7/f/FirebaseCoreExtension/11.3.0/FirebaseCoreExtension.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/7/f/FirebaseCoreExtension/11.2.0/FirebaseCoreExtension.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/7/f/FirebaseCoreExtension/11.1.0/FirebaseCoreExtension.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/4/7/f/FirebaseCoreExtension/11.0.0/FirebaseCoreExtension.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/7/9/1/FirebaseCoreInternal/11.3.0/FirebaseCoreInternal.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/7/9/1/FirebaseCoreInternal/11.2.0/FirebaseCoreInternal.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/7/9/1/FirebaseCoreInternal/11.1.0/FirebaseCoreInternal.podspec.json существует! Возвращаем локальный, потому что проверка выполняется только при обновлении репозитория
  CDN: trunk Относительный путь: Specs/7/9/1/FirebaseCoreInternal/11.0.0/FirebaseCoreInternal.podspec.json существует! 

Сравнение разрешенной спецификации с манифестом песочницы
  A BoringSSL-GRPC
  A Firebase
  A FirebaseAppCheckInterop
  A FirebaseAuth
  A FirebaseAuthInterop
  A FirebaseCore
  A FirebaseCoreExtension
  A FirebaseCoreInternal
  A FirebaseFirestore
  A FirebaseFirestoreInternal
  A FirebaseSharedSwift
  A Flutter
  A GTMSessionFetcher
  A GoogleUtilities
  A RecaptchaInterop
  A abseil
  A cloud_firestore
  A firebase_auth
  A firebase_core
  A gRPC-C++
  A gRPC-Core
  A leveldb-library
  A nanopb
  A path_provider_foundation

Скачивание зависимостей

-> Установка BoringSSL-GRPC (0.0.36)
 > Загрузка Git
 > Загрузка Git
     $ /opt/homebrew/bin/git clone https://github.com/google/boringssl.git /var/folders/rf/5bxv_hj101g5t_lglvj7hpp80000gn/T/d20241020-12805-m9ygc0 --template=

[!] Ошибка установки BoringSSL-GRPC
[!] /opt/homebrew/bin/git clone https://github.com/google/boringssl.git /var/folders/rf/5bxv_hj101g5t_lglvj7hpp80000gn/T/d20241020-12805-m9ygc0 --template=

Клонируем в '/var/folders/rf/5bxv_hj101g5t_lglvj7hpp80000gn/T/d20241020-12805-m9ygc0'...
ошибка: RPC не удалась; curl 18 передача закрыта с оставшимися ожидающими данными для чтения
ошибка: еще ожидается 5407 байт тела
fetch-pack: неожиданное отключение при чтении пакета боковой передачи
фатальная ошибка: ранний EOF
фатальная ошибка: fetch-pack: недопустимый вывод index-pack

/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:144:in `rescue in execute_command'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:141:in `execute_command'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-downloader-2.1/lib/cocoapods-downloader/base.rb:175:in `block in executable'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-downloader-2.1/lib/cocoapods-downloader/git.rb:107:in `block in clone'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:175:in `block in ui_sub_action'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:174:in `ui_sub_action'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-downloader-2.1/lib/cocoapods-downloader/git.rb:105:in `clone'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-downloader-2.1/lib/cocoapods-downloader/git.rb:73:in `download!'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-downloader-2.1/lib/cocoapods-downloader/base.rb:83:in `block in download'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:159:in `block in ui_action'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:158:in `ui_action'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-downloader-2.1/lib/cocoapods-downloader/base.rb:81:in `download'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:110:in `download_source'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:77:in `download_request'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader/cache.rb:256:in `download'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader/cache.rb:239:in `block in uncached_pod'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader/cache.rb:266:in `in_tmpdir'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader/cache.rb:238:in `uncached_pod'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader/cache.rb:33:in `download_pod'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/downloader.rb:42:in `download'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer/pod_source_downloader.rb:69:in `download!'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer/pod_source_installer.rb:117:in `download_source'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer/pod_source_installer.rb:67:in `install!'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:621:in `install_source_of_pod'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:539:in `block (2 уровня) в install_pod_sources'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:86:in `titled_section'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:538:in `block in install_pod_sources'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:535:in `each'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:535:in `install_pod_sources'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:258:in `block в download_dependencies'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:257:in `download_dependencies'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:163:in `install!'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/command/install.rb:52:in `run'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:52:in `run'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/gems/cocoapods-1.15.2/bin/pod:55:in `<top (required)>'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/bin/pod:25:in `load'
/opt/homebrew/Cellar/cocoapods/1.15.2_1/libexec/bin/pod:25:in `<main>'

Вывод ошибок от CocoaPods:

Клонируем в ‘/var/folders/rf/5bxv_hj101g5t_lglvj7hpp80000gn/T/d20241020-12805-m9ygc0’…
ошибка: RPC не удалась; curl 18 передача закрыта с оставшимися ожидающими данными для чтения
ошибка: еще ожидается 5407 байт тела
fetch-pack: неожиданное отключение при чтении пакета боковой передачи
фатальная ошибка: ранний EOF
фатальная ошибка: fetch-pack: недопустимый вывод index-pack

Ошибка при выполнении pod install
Ошибка запуска приложения на iPhone 16 Pro Max.

Завершено (1).

Мой ноутбук – Mac M1. Как я могу решить эту проблему раз и навсегда?

У меня такая же проблема. Я переключил свое интернет-соединение на мобильные данные вместо Wifi, и пакет установился успешно. Я не знаю точную причину, но это сработало для меня.
Используя Mac M1.

Ответ или решение

Устранение проблемы с установкой пакета cloud_firestore на iOS Simulator для Mac M1

После добавления пакета cloud_firestore к вашему проекту Flutter вы столкнулись с проблемой, которая не позволяет запустить приложение в iOS симуляторе. Возникающая ошибка во время установки CocoaPods указывает на проблемы с клонированием зависимостей, в частности, для BoringSSL-GRPC, и может быть вызвана различными факторами, включая нестабильное интернет-соединение, версии CocoaPods или ограничения, связанные с архитектурой M1.

Основные шаги для решения проблемы:

  1. Проверка подключения к интернету:

    • Ваша проблема может быть связана с нестабильным интернет-соединением. Как вы уже заметили, смена соединения с Wi-Fi на мобильные данные помогла решить проблему. Попробуйте переключиться на другое соединение или перезапустить маршрутизатор.
  2. Обновление CocoaPods:

    • Убедитесь, что вы используете последнюю версию CocoaPods. Выполните следующую команду в терминале:
      sudo gem install cocoapods
    • После установки обновите репозиторий CocoaPods:
      pod repo update
  3. Очистка кеша CocoaPods:

    • Возможно, локальный кеш CocoaPods содержит поврежденные данные. Чтобы очистить кеш, выполните:
      pod cache clean --all
  4. Удаление и повторная установка зависимостей:

    • Перейдите в каталог вашего проекта и удалите папку Pods, а также файл Podfile.lock:
      rm -rf ios/Pods
      rm ios/Podfile.lock
    • Затем выполните команду для установки Pods заново:
      cd ios
      pod install
  5. Проверка настроек Xcode:

    • Убедитесь, что ваша версия Xcode обновлена и поддерживает архитектуру M1 (для этого установите последнюю версию Xcode через App Store).
    • Откройте проект в Xcode и убедитесь, что настройки компиляции соответствуют архитектуре вашего устройства. Проверьте, что все архитектурные настройки в Xcode указаны на "Standard architectures".
  6. Использование Rosetta 2:

    • Если предыдущие шаги не помогли, попробуйте запустить терминал в эмуляторе Rosetta 2, чтобы все команды, включая CocoaPods, выполнялись в режиме совместимости:
      • Найдите "Terminal" в папке "Программы", выберите "Получить информацию" (Command + I), затем отметьте опцию "Открыть с помощью Rosetta".
  7. Переход на альтернативное интернет-соединение:

    • Как вы упомянули, переход на мобильные данные помог одному пользователю. Если у вас есть доступ к другим сетям, попробуйте подключиться к ним.

Заключение:

Эти шаги помогут вам устранить проблему с установкой пакета cloud_firestore и запустить ваше приложение в iOS симуляторе на Mac M1. Если проблема сохраняется, рекомендуется обратиться к документации пакета cloud_firestore и проверить проблемы на GitHub, где разработчики обсуждают похожие случаи. Учтите, что проблемы устанавливаются в зависимости от конфигурации системы и интернет-соединения, поэтому может потребоваться несколько подходов для их решения.

Если у вас возникли дополнительные вопросы или требуется профессиональная помощь, не стесняйтесь сообщить об этом.

Оцените материал
Добавить комментарий

Капча загружается...