Как отключить предупреждения Xcode 11.4 о MobileCoreServices и AssetsLibrary?

После обновления до Xcode 11.4 beta я получил эти предупреждения отPods подпроект (в частности, от YYImage а также Branch цели):

Целостность цели: MobileCoreServices был переименован. Вместо этого используйте CoreServices.

Целостность цели: AssetsLibrary устарела. Вместо этого рассмотрите возможность перехода на Фото.

у меня есть inhibit_all_warnings! в моем Podfile, но на них это не влияет.

Есть ли способ отключить эти предупреждения, пока создатели этих модулей не исправят их?

3 ответа

Решение

Я заметил, что удаление этих двух фреймворков вручную Pods/Frameworks/iOSгруппа навигатора проекта устраняет эти предупреждения. Поскольку обе платформы встроены в саму iOS (а не в пакет приложений), их удаление не имеет никакого эффекта во время выполнения. Вот как это сделать автоматически вPodfile пост-установочный крючок:

post_install do |installer|
    installer.pods_project.frameworks_group["iOS"]["MobileCoreServices.framework"].remove_from_project
    installer.pods_project.frameworks_group["iOS"]["AssetsLibrary.framework"].remove_from_project
end

Если это оставляет повешение (null) ссылка, вы можете сделать что-то вроде:

post_install do |installer|
    framework = installer.pods_project.frameworks_group["iOS"]["MobileCoreServices.framework"]
    framework.referrers.each do |ref|
        if ref.isa == "PBXBuildFile"
            ref.remove_from_project
        end
    end
    framework.remove_from_project
end

Чтобы отключить это предупреждение:

  1. Настройки сборки Open Pod target
  2. Выберите параметры сборки
  3. Добавьте фреймворк (например, AssetsLibrary) в Validate Workspace - Ignored Frameworks

изменить платформу: ios, «13.0» на платформу: ios, «11.0» в iOS/Podfile

работал как шарм для меня!

Другие вопросы по тегам