«Целевой объект« Pods »имеет транзитивные зависимости, которые включают статические двоичные файлы» при установке «Google-Maps-iOS-Utils».

Я пытаюсь установить Google-Maps-iOS-Utils, но это дает мне ошибку выше. Вот подфайл:

platform :ios, '9.0'
 use_frameworks! 
 target 'MapClusters' do
  pod 'Alamofire'
  pod 'SwiftyJSON'
  pod 'GoogleMaps'
  pod 'Google-Maps-iOS-Utils'
end

Я попытался удалить pod 'Google-Maps-iOS-Utils', и это сработало. Итак, я предполагаю, что Google-Maps-iOS-Utils является причиной проблемы. Вот полная ошибка:

[!] The 'Pods-MapClusters' target has transitive dependencies that include static binaries: (/Users/BAPS/Documents/Test/MapClusters/Pods/GoogleMaps/Subspecs/Base/Frameworks/GoogleMapsBase.framework, /Users/BAPS/Documents/Test/MapClusters/Pods/GoogleMaps/Subspecs/Maps/Frameworks/GoogleMapsCore.framework, and /Users/BAPS/Documents/Test/MapClusters/Pods/GoogleMaps/Subspecs/Maps/Frameworks/GoogleMaps.framework)

Я уже получил много ответов здесь или в другом месте в Интернете. До сих пор я пробовал это решение:

  1. Отключение проверки транзитивных зависимостей.

    2.pre_install do |installer| def installer.verify_no_static_framework_transitive_dependencies; end end

    post_install do |installer| find Pods -regex 'Pods/GoogleMaps.*\\.h' -print0 | xargs -0 sed -i '' 's/\\(<\\)GoogleMaps\\/\\(.*\\)\\(>\\)/\\"\\2\\"/' find Pods -regex 'Pods/Google-Maps-iOS-Utils.*\\.h' -print0 | xargs -0 sed -i '' 's/\\(<\\)Google-Maps-iOS-Utils\\/\\(.*\\)\\(>\\)/\\"\\2\\"/' end

После добавления двух вышеупомянутых точек в Podfile установка работает, но затем, когда я пытаюсь запустить приложение, я получаю эту ошибку:

Ошибка

После удаления pod 'SwiftyJSON' он работает, но мне он там нужен.

Я тоже пробовал несколько других вещей, но ничего не помогает. Я новичок в разработке iOS, поэтому ничего не могу с собой поделать.

Я использую swift, xcode 7.3 и последние версии cocoapods.


person Abrar    schedule 25.08.2016    source источник
comment
Проверьте свою структуру, развернув, есть ли GoogleMaps.h файл или нет. Правильно добавьте фреймворк со всеми файлами заголовков.   -  person Dipen Panchasara    schedule 25.08.2016
comment
@DipenPanchasara Я не могу понять. Где именно надо смотреть. А если его нет, то как его туда добавить?   -  person Abrar    schedule 25.08.2016
comment
Я немного занята, дайте мне немного времени, я обязательно займусь этим завтра.   -  person Dipen Panchasara    schedule 25.08.2016
comment
Откройте свой каталог фреймворка, разверните его, вы найдете внутри него каталог header, все файлы заголовков для этого фреймворка находятся там, если его нет, загрузите его с github или используйте cocoapods   -  person Dipen Panchasara    schedule 26.08.2016


Ответы (3)


Я понял это после долгой борьбы. По запросу ребята из Google разместили руководство в своем репозитории git. Вот ссылка

person Abrar    schedule 15.01.2017
comment
ссылка мертва. ты знаешь где это сейчас? - person douira; 07.07.2020

Использовал этот код в подфайле, чтобы избежать ошибки при установке модуля:

pre_install do |installer|
    def installer.verify_no_static_framework_transitive_dependencies; end
end

Но все еще нужно решение для pod lib.

person Marlon Ruiz    schedule 15.01.2017

пожалуйста, обновите ваш pod-файл

    platform :ios, '9.0'
 use_frameworks! 
 target 'MapClusters' do
  pod 'Alamofire'
  pod 'SwiftyJSON'
  pod 'GoogleMaps'
  pod 'Google-Maps-iOS-Utils', :git => 'https://github.com/googlemaps/google-maps-ios-utils'
end
person Bibin Joseph    schedule 30.08.2016