Моя компания пробует Flutter для создания мобильных приложений, и в настоящее время я пытаюсь распространять бета-версии iOS и Android через Fabric.
репозиторий плагинов flutter не имеет подключаемых модулей Fabric, и я не могу найти никаких руководств ни в главная страница flutter, ни где-либо еще в Интернете о том, как этого добиться.
Я планировал сначала сосредоточиться на iOS, поскольку я разработчик iOS, а позже разберусь с Android и использую fastlane-match для управления моей кодовой подписью на iOS. Что я придумал до сих пор, так это то, что я попытаюсь создать сценарии после сборки, обсуждаемые в этом руководство по ткани, и, таким образом, загрузить свои сборки вручную после сборки флаттера и создания файла IPA. Я бы сказал, что это не оптимально, поскольку он отличается от остальной части нашей настройки сборки, так как набор Fabric не встроен напрямую в наш проект iOS.
Поэтому мне интересно, есть ли у кого-нибудь опыт в распространении приложений flutter с помощью Fabric и есть ли у вас какие-либо советы о том, как этого добиться, предпочтительно с помощью Fabric, интегрированного в мои проекты iOS и Android соответственно.
Редактировать: Для всех, кто интересуется решением, я закончил тем, что добавил cocoapod Fabric и Crashlytics в сгенерированный файл cocoapod с помощью flutter и установил их с помощью pod install. Я не уверен, что этот файл cocoapod будет перезаписан в будущем, поскольку мой опыт работы с Flutter довольно ограничен.
После этого я смог импортировать и Fabric, и Crashlytics в свой AppDelegate и инициализировать набор Fabric оттуда, как в обычном проекте iOS, а также добавить этап runscript и записи plist, как рекомендовано в руководстве по установке Fabric iOS.
Я также настроил проект на использование ручной подписи кода и управлял кодовой подписью с помощью Fastlane Match.
После этого я создал скрипт fastlane, который загружается в crashyltics. Сценарий сборки, который у меня получился:
flutter build ios --release --no-codesign
cd ios
fastlane ios beta
где ios ссылается на мою платформу, а бета - это имя полосы, которая выполняет загрузку структуры. Бета-полоса сначала строится с тренажерным залом (для подписи файла IPA), а затем этот подписанный файл IPA загружается в crashlytics.
Да, в итоге я так и сделал, ключ заключался в использовании flutter build ios --release --no -codeign для создания неподписанного архива, а затем с помощью fastlane gym для кодовой подписи того же неподписанного архива.
Привет, Эвар, я бы порекомендовал вам использовать Fastlane для распространения вашего приложения через Fabric: flutter.io/fastlane-cd