yandexmobile / yandex-ads-unity-plugin

Yandex Mobile Ads Unity Plugin
Other
48 stars 9 forks source link

Ошибка Multiple commands produce при попытке билда под iOS #68

Closed breakmt closed 9 months ago

breakmt commented 1 year ago

Добрый день! Пытаюсь сбилдить игру под iOS с Яндекс Медиацией (подключены My Target, MIntegral, Unity Ads, Pangle), но в Xcode получаю ошибку

error: Multiple commands produce '/Users/breakmt/Library/Developer/Xcode/DerivedData/Unity-iPhone-ekuqvmdrgpfnjuaoesiltcaasaqw/Build/Products/ReleaseForRunning-iphoneos/ToxicCityLab.app/YandexMobileAdsBundle.bundle'
    note: Target 'Unity-iPhone' (project 'Unity-iPhone') has copy command from '/Users/breakmt/Documents/GitHub/toxic/Build/Pods/YandexMobileAds/static/YandexMobileAds.xcframework/YandexMobileAdsBundle.bundle' to '/Users/breakmt/Library/Developer/Xcode/DerivedData/Unity-iPhone-ekuqvmdrgpfnjuaoesiltcaasaqw/Build/Products/ReleaseForRunning-iphoneos/ToxicCityLab.app/YandexMobileAdsBundle.bundle'
    note: That command depends on command in Target 'Unity-iPhone' (project 'Unity-iPhone'): script phase “[CP] Copy Pods Resources”

Порыл в интернете - пишут с похожей ошибкой удалить дубликат в Copy Bundle Resources в Buld Phases. Но там нет дубликатов.

Снимок экрана 2023-07-03 в 19 16 52

Посоветуйте пожалуйста, что можно сделать?

Версия плагина последняя Unity 2021.3.22f Xcode 14.2

dreamcodestudio commented 11 months ago

аналогичная ситуация стала возникать с v2.8.0 Unity 2020.3.41f1 Xcode 14.2

CheeryLee commented 11 months ago

Дубликат на самом деле есть, и он как раз на скрине. Бандл с рекламой копируется на стадии [CP] Copy Pods Resources, поэтому его не нужно явно указывать в Copy Bundle Resources. В классе PostprocessBuildPlayerYandexMobileAds есть ошибка. Удалите эту часть кода:

image

breakmt commented 11 months ago

Понятно, спасибо за ответ! Судя по количеству проблем и активности поддержки - пользоваться этим пока не стоит.

mobile-ads-github commented 11 months ago

Здравствуйте! Приносим извинения за поздний ответ.

С версии плагина 2.8.0 YandexMobileAdsBundle.bundle добавляется в iOS проект автоматически с помощью PostprocessBuildPlayerYandexMobileAds.cs. Поэтому если вы добавляли YandexMobileAdsBundle.bundle вручную теперь этого делать не нужно.

dreamcodestudio commented 11 months ago

Здравствуйте! Приносим извинения за поздний ответ.

С версии плагина 2.8.0 YandexMobileAdsBundle.bundle добавляется в iOS проект автоматически с помощью PostprocessBuildPlayerYandexMobileAds.cs. Поэтому если вы добавляли YandexMobileAdsBundle.bundle вручную теперь этого делать не нужно.

так в этом и состоит проблема, YandexMobileAdsBundle.bundle уже и так добавляется на этапе pod install в .xcworkspace проект, после чего еще раз дублируется в Unity-iPhone проект ручных custom PostBuild для Yandex никогда не юзалось только стандартный Google.IOSResolver, который устанавливает pod зависимости

dreamcodestudio commented 11 months ago

текущий PostBuild будет нормально работать только на xcodeproj, но если собирать проект через xcworkspace c Pods будет возникать error: Multiple commands produce

mobile-ads-github commented 10 months ago

Спасибо за Ваше обращение, для разбора создана задача с номером PCODESUP-2230. Мы ознакомимся и вернемся с ответом в течение 2 дней, возможно запросим дополнительную информацию.

Thank you for your message, a task with the number PCODESUP-2230 has been created for analysis. We will get acquainted and return with the answer within 2 days, we may request additional information.

mobile-ads-github commented 10 months ago

Здравствуйте! Советуем сначала удалить все pod-зависимости, затем заново установить через pod install. В таком случае дублирование зависимостей будет точно устранено.

dreamcodestudio commented 10 months ago

Здравствуйте! Советуем сначала удалить все pod-зависимости, затем заново установить через pod install. В таком случае дублирование зависимостей будет точно устранено.

Через External Dependency Manager это делается автоматически, проблема именно в вашем Postprocess, для проектов с iOSResolver он не нужен, это дублирует логику resolvera

mobile-ads-github commented 10 months ago

Благодарим за обращение, обнаружили проблему на нашей стороне. Исправление будет доступно в ближайшем релизе.

mobile-ads-github commented 9 months ago

Здравствуйте! Проблема была исправлена в версии 6.0.0