meg4cyberc4t / varioqub_configs

Flutter plugin providing work with remote configs, experiments and A/B testing via Varioqub
https://pub.dev/packages/varioqub_configs
MIT License
2 stars 0 forks source link

После обновлении апметрики перестал собираться ios #31

Open svkachkova opened 2 days ago

svkachkova commented 2 days ago

Describe the bug

Перестал архивироваться билд для ios после обновления апметрики на appmetrica_plugin: ^3.1.0. Не получается собрать ipa. Ошибка вот такая:

Asset validation failed (90482)
Invalid Executable. The executable 'Runner.app/Frameworks/YandexMobileMetrica.framework/YandexMobileMetrica' contains bitcode. (ID: a7b4b569-75d3-4856-81b6-1a7b71f23cfa)

Ответ от поддержки апметрики на счет этого ишью:

YandexMobileMetrica.framework, из-за которого возникает ошибка - неактуальная версия AppMetrica, с которой сейчас действительно могут быть проблемы при сборке. В нашем плагине она не используется с версии 2.0.0 и выше. В актуальных версиях используется пакет AppMetricaAnalytics.

Такую версию может тянуть одна из сторонних библиотек. Проверьте, пожалуйста. Также можно попробовать удалить папку /ios/Pods перед запуском проекта.

Единственное упоминание YandexMobileMetrica в Podfile.lock у нас в проекте:

  - Varioqub (0.7.1):
    - Varioqub/Core (= 0.7.1)
  - Varioqub/Core (0.7.1):
    - Varioqub/VQSwiftProtobuf
  - Varioqub/MetricaAdapter (0.7.1):
    - Varioqub/Core
    - Varioqub/VQSwiftProtobuf
    - YandexMobileMetrica/Dynamic/Core (~> 4.5.0)
  - Varioqub/VQSwiftProtobuf (0.7.1)
  - varioqub_configs (0.7.1):
    - Flutter
    - Varioqub (~> 0.6)
    - Varioqub/MetricaAdapter (~> 0.6)
  - YandexMobileMetrica/Dynamic/Core (4.5.2)

Версия плагина varioqub_configs: ^0.7.1 и флатер доктор:

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.94.2)
[✓] Connected device (5 available)
[✓] Network resources

• No issues found!
meg4cyberc4t commented 2 days ago

Добрый день, @svkachkova. Спасибо за предоставленную информацию. Обещаю разобраться с ошибкой в ближайшие сутки и чуть позже дать ответ / инструкцию по устранению проблемы.

meg4cyberc4t commented 2 days ago

@svkachkova Спасибо за ожидание. Обновил версию нативной библиотеки Varioqub для iOS (до 0.7.1). В связи с этим выпустил обновление. Пожалуйста, обновите версию библиотеки в вашем проекте до 0.8.0 и попробуйте произвести сборку ещё раз. Это должно помочь.

svkachkova commented 20 hours ago

Спасибо за апдейт)

Обновилась, но проблемная зависимость - YandexMobileMetrica/Dynamic/Core (~> 4.5.0) все равно осталась. Кажется она тянется отсюда s.dependency 'Varioqub/MetricaAdapter', '~> 0.7.1' 🤔

Может можно использовать s.dependency 'Varioqub/MetricaAdapterReflection', '~> 0.7.1', как в оригинальном плагине?

meg4cyberc4t commented 10 hours ago

Спасибо за апдейт)

Обновилась, но проблемная зависимость - YandexMobileMetrica/Dynamic/Core (~> 4.5.0) все равно осталась. Кажется она тянется отсюда s.dependency 'Varioqub/MetricaAdapter', '~> 0.7.1' 🤔

Может можно использовать s.dependency 'Varioqub/MetricaAdapterReflection', '~> 0.7.1', как в оригинальном плагине?

Изначально я хотел сделать так, но не получится. Использование Varioqub/MetricaAdapterReflection возможно в одном проекте, в котором вы можете гарантировать импорт YandexMobileMetrica/Dynamic/Core из другого пакета (и не создавать тем самым конфликты). При создании библиотеки я не могу так сделать, поскольку каждый проект взаимодействует друг с другом как модуль (и собирается отдельно).

Перед публикацией новой версии я проверил работоспособность с использованием appmetrica_plugin версией 3.1.0 при iOS сборках, поэтому не могу репродуцировать у себя проблему в данный момент.

Попрошу вас, воспользуйтесь командами pod install --repo-update и pod update AppMetricaAnalytics Varioqub YandexMobileMetrica/Dynamic/Core, после чего попробуйте собрать ваше приложение заново.

Так же попробуйте запустить наш example. В нём как раз показывается пример использования согласно с пакетом appmetrica_plugin.