CocoaPods“target具有包含静态二进制文件的传递依赖”

时间:2017-03-05 17:28:19

标签: xcode cocoapods swift-framework

我正在尝试将我在GitHub上找到的swift框架以及GoogleMaps,GooglePlaces安装到我的Xcode项目中,但出于某种原因,当我尝试安装pod文件时,它会出现以下错误

  

[!]'Pods-project1'目标具有传递依赖关系,包括静态二进制文件:(/ Users / user1 /Desktop / project1 /Pods / GoogleMaps / Base / Framees / GoogleMapsBase.framework,/ Users / user1 / Desktop / project1 / Pods / GoogleMaps / Maps / Frameworks / GoogleMaps.framework,和/Users/user1/Desktop/project1/Pods/GoogleMaps/Maps/Frameworks/GoogleMapsCore.framework)

这是我正在尝试安装的Pod文件:

#Uncomment the next line to define a global platform for your project
#platform :ios, '9.0'

source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

target 'project1' do
pod 'GooglePlaces'
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
pod 'PopupDialog'
end

此处还有我正在尝试安装的swift框架的链接: https://github.com/Orderella/PopupDialog

我不做该做什么,我尝试过多种东西,但它们似乎没有用。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:5)

我想我找到了解决方案,我通过你的方式测试了自己并发现了同样的错误,所以我经历了逐个pod安装,它的工作和安装完美,但" pod&# 39;谷歌-地图-IOS-的Utils' "是出现错误的原因,而是将其放入您的podfile中,删除并保留 这三个在你的目标之下。

pod' GooglePlaces'

pod' GoogleMaps'

pod'PopupDialog'

安装它们,它将完美安装。

现在,在终端中成功安装所有依赖项后,运行" pod尝试Google-Maps-iOS-Utils",它将开始安装,然后您将获得类似的选项:

1:samples / ObjCDemoApp / ObjCDemoApp.xcodeproj

2:samples / SwiftDemoApp / SwiftDemoApp.xcodeproj

3:workspace / GoogleMapsUtils.xcodeproj

您想打开哪个项目? 选择你的号码(例如3)然后按回车

您已在此处选择了项目并继续进行。 (y)的 你已经完成了。

答案 1 :(得分:5)

这是因为当您使用“use_frameworks!”时,“Google-Maps-iOS-Utils”不是动态库。在你的Podfile中。不幸的是,对于这个库,我们需要手动为Swift项目安装它。您可以在此处查看详细说明:

https://github.com/googlemaps/google-maps-ios-utils/blob/master/Swift.md

答案 2 :(得分:1)

我使用过GoogleMap,但也遇到了同样的错误,只是因为pod'Google-Maps-iOS-Utils'xcode给出了此错误。我删除了 pod'Google-Maps-iOS-Utils ',只保留了 pod'GoogleMaps'。它对我有用。 希望它也对您有用。