yandexmobile / yandex-ads-sdk-ios

Yandex Mobile Ads SDK iOS
https://yandex.com/dev/mobile-ads/
Other
40 stars 9 forks source link

Не компилируется версия 6.1.0 (+ Instream 0.21.0) #180

Closed orakull closed 1 year ago

orakull commented 1 year ago

Обновил библиотеку через pod update YandexMobileAds YandexMobileAdsInstream до версий:

  - YandexMobileAds (= 6.1.0)
  - YandexMobileAdsInstream (= 0.21.0)

Получил варнинги и ошибки линковки проекта:

ld: warning: Could not find or use auto-linked framework 'AudioUnit': framework 'AudioUnit' not found
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
ld: warning: Could not find or use auto-linked framework 'MACAnalytics': framework 'MACAnalytics' not found
ld: warning: Could not find or use auto-linked framework 'MACBase': framework 'MACBase' not found
ld: warning: Could not find or use auto-linked framework 'MACBaseUI': framework 'MACBaseUI' not found
ld: warning: Could not find or use auto-linked framework 'MACCAChallengeHandler': framework 'MACCAChallengeHandler' not found
ld: warning: Could not find or use auto-linked framework 'MACConsent': framework 'MACConsent' not found
ld: warning: Could not find or use auto-linked framework 'MACConstants': framework 'MACConstants' not found
ld: warning: Could not find or use auto-linked framework 'MACDependenciesUmbrella': framework 'MACDependenciesUmbrella' not found
ld: warning: Could not find or use auto-linked framework 'MACEncryption': framework 'MACEncryption' not found
ld: warning: Could not find or use auto-linked framework 'MACFeatureFlags': framework 'MACFeatureFlags' not found
ld: warning: Could not find or use auto-linked framework 'MACHeaderBidding': framework 'MACHeaderBidding' not found
ld: warning: Could not find or use auto-linked framework 'MACLogging': framework 'MACLogging' not found
ld: warning: Could not find or use auto-linked framework 'MACMediation': framework 'MACMediation' not found
ld: warning: Could not find or use auto-linked framework 'MACNetworking': framework 'MACNetworking' not found
ld: warning: Could not find or use auto-linked framework 'MACPlatformDescription': framework 'MACPlatformDescription' not found
ld: warning: Could not find or use auto-linked framework 'MACSDKConfiguration': framework 'MACSDKConfiguration' not found
ld: warning: Could not find or use auto-linked framework 'MACVASTKit': framework 'MACVASTKit' not found
ld: Undefined symbols:
  DivKit.DivVariablesStorage.init() -> DivKit.DivVariablesStorage, referenced from:
      YandexMobileAds.DivBlockModelingContextFactory.make(adDivLocalImageProvider: YandexMobileAds.AdDivLocalImageProvider) -> DivKit.DivBlockModelingContext in YandexMobileAds[768](DivBlockModelingContextFactory.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
mobile-ads-github commented 1 year ago

Можете прислать часть Podfile.lock, который касается зависимостей DivKit?

orakull commented 1 year ago

Часть про DivKit:

  - DivKit (28.7.0):
    - DivKit_LayoutKit (= 28.7.0)
    - DivKit_Serialization (= 28.7.0)
    - VGSLCommonCore (~> 2.3)
    - VGSLNetworking (~> 2.3)
  - DivKit_LayoutKit (28.7.0):
    - DivKit_LayoutKitInterface (= 28.7.0)
    - VGSLCommonCore (~> 2.3)
  - DivKit_LayoutKitInterface (28.7.0):
    - VGSLBase (~> 2.3)
    - VGSLBaseTiny (~> 2.3)
    - VGSLBaseUI (~> 2.3)
  - DivKit_Serialization (28.7.0):
    - VGSLCommonCore (~> 2.3)

Еще появились эти зависимости

    - VGSLBase
    - VGSLBaseTiny
    - VGSLBaseUI
    - VGSLCommonCore
    - VGSLNetworking

Могу по ним прислать подробности)

mobile-ads-github commented 1 year ago

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

Thank you for your message, a task with the number PCODESUP-2515 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 1 year ago

Попробуйте к таргету, к которому добавляете зависимость YandexMobileAds, добавить pod 'DivKit', '28.4.0'.

orakull commented 1 year ago

Спасибо, помогло 👍

mobile-ads-github commented 1 year ago

Мы перевыпустили YandexMobileAds.podspec, явно указав зависимость на патч. Добавление pod 'DivKit' можно будет убрать.

orakull commented 1 year ago

В такой конфигурации без указания конкретной версии SDK устанавливается версия 5.9.1:

  - YandexMobileAds (5.9.1):
    - DivKit (~> 24.2)
    - YandexMobileAds/Static (= 5.9.1)
  - YandexMobileAds/Static (5.9.1):
    - DivKit (~> 24.2)
    - YandexMobileMetrica (< 5.0.0, >= 4.0.0)
  - YandexMobileAdsInstream (0.19.0):
    - YandexMobileAds (~> 5.9.0)
  - YandexMobileMetrica (4.5.2):
    - YandexMobileMetrica/Static (= 4.5.2)
  - YandexMobileMetrica/Static (4.5.2):
    - YandexMobileMetrica/Static/Core (= 4.5.2)
    - YandexMobileMetrica/Static/Crashes (= 4.5.2)
  - YandexMobileMetrica/Static/Core (4.5.2)
  - YandexMobileMetrica/Static/Crashes (4.5.2):
    - YandexMobileMetrica/Static/Core
  - DivKit (24.2.0):
    - DivKit_Base (= 24.2.0)
    - DivKit_BaseTiny (= 24.2.0)
    - DivKit_BaseUI (= 24.2.0)
    - DivKit_CommonCore (= 24.2.0)
    - DivKit_LayoutKit (= 24.2.0)
    - DivKit_LayoutKitInterface (= 24.2.0)
    - DivKit_Networking (= 24.2.0)
    - DivKit_Serialization (= 24.2.0)
  - DivKit_Base (24.2.0):
    - DivKit_BaseTiny (= 24.2.0)
    - DivKit_BaseUI (= 24.2.0)
  - DivKit_BaseTiny (24.2.0)
  - DivKit_BaseUI (24.2.0):
    - DivKit_BaseTiny (= 24.2.0)
  - DivKit_CommonCore (24.2.0):
    - DivKit_Base (= 24.2.0)
    - DivKit_BaseTiny (= 24.2.0)
  - DivKit_LayoutKit (24.2.0):
    - DivKit_BaseTiny (= 24.2.0)
    - DivKit_BaseUI (= 24.2.0)
    - DivKit_CommonCore (= 24.2.0)
    - DivKit_LayoutKitInterface (= 24.2.0)
  - DivKit_LayoutKitInterface (24.2.0):
    - DivKit_Base (= 24.2.0)
    - DivKit_BaseTiny (= 24.2.0)
    - DivKit_BaseUI (= 24.2.0)
  - DivKit_Networking (24.2.0):
    - DivKit_Base (= 24.2.0)
  - DivKit_Serialization (24.2.0):
    - DivKit_CommonCore (= 24.2.0)

Podfile

   pod 'YandexMobileAds'
   pod 'YandexMobileAdsInstream'

Если же явно указать версию YandexMobileAds как 6.1.0, то DivKit подтягивается снова 28.7.0

mobile-ads-github commented 1 year ago

Вероятно, локальный репозитории cocoapods не обновлен. Нужно без указания версий сделать pod install --repo-update

orakull commented 1 year ago

Да, действительно, но с --repo-update DivKit подтягивается снова 28.7.0, если явно не указать версию

pod install --repo-update
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing DivKit (28.7.0)
Installing DivKit_LayoutKit (28.7.0)
Installing DivKit_LayoutKitInterface (28.7.0)
Installing DivKit_Serialization (28.7.0)
Installing VGSLBase (2.3.0)
Installing VGSLBaseTiny (2.3.0)
Installing VGSLBaseUI (2.3.0)
Installing VGSLCommonCore (2.3.0)
Installing VGSLNetworking (2.3.0)
Installing YandexMobileAds (6.1.0)
Installing YandexMobileAdsInstream (0.21.0)
Installing YandexMobileMetrica (4.5.2)
Generating Pods project
Integrating client project

Podfile:

  pod 'YandexMobileAds'
  pod 'YandexMobileAdsInstream'
mobile-ads-github commented 1 year ago

Попробуйте снaчала удалить локальные репозитории cocoapods:

pod repo remove cocoapods
pod repo remove trunk

Затем

pod install --repo-update