' The' Pods' target具有传递依赖关系,包括静态二进制文件'安装' Google-Maps-iOS-Utils'

时间:2016-08-25 11:14:34

标签: ios cocoapods google-maps-markers google-maps-sdk-ios swifty-json

我正在尝试安装Google-Maps-iOS-Utils'但它给了我上面的错误。 这是Podfile:

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

  2. 在Podfile中添加以上两点后,安装正常,但是当我尝试运行应用程序时,我收到此错误:

    Error

    删除pod 'SwiftyJSON'后,它有效,但我需要它。

    我也尝试过其他一些东西,但似乎没有任何帮助。我是ios开发的新手,所以我无法帮助自己。

    我正在使用swift,xcode 7.3和最新的cocoapods。

3 个答案:

答案 0 :(得分:5)

经过多次努力,我已经想到了这一点。根据要求谷歌的人已经在他们的git存储库上放了一个教程。 Here is the link

答案 1 :(得分:2)

在podfile中使用此代码以避免在pod安装时出错:

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

但仍需要pod lib的解决方案。

答案 2 :(得分:0)

请更新您的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