Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'The 'Pods' target has transitive dependencies that include static binaries' when installing GCM

I'm trying to install Google Cloud Messaging for my iOS application (using swift). I've added it to my Podfile like so:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.2'
use_frameworks!

target 'Project' do
    pod 'Alamofire', '~> 1.2'
    pod 'Google/CloudMessaging'
end

target 'ProjectTests' do

end

Now when I try to install the dependencies, I get an error (see below). It worked fine before I added GoogleCloudMessaging. I tried to make a new project and add it there instead to see if it worked, and I got the same error.

Analyzing dependencies
Downloading dependencies
Installing Alamofire (1.2.3)
Installing GGLInstanceID (1.0.0)
Installing Google (1.0.7)
Installing GoogleCloudMessaging (1.0.3)
Installing GoogleInterchangeUtilities (1.0.0)
Installing GoogleNetworkingUtilities (1.0.0)
Installing GoogleSymbolUtilities (1.0.0)
Installing GoogleUtilities (1.0.1)
[!] The '<Project name>' target has transitive dependencies that include static binaries: (/Users/User/Documents/Test/Pods/GGLInstanceID/Libraries/libGGLInstanceIDLib.a, /Users/User/Documents/Test/Pods/Google/Libraries/libGGLCloudMessaging.a, /Users/User/Documents/Test/Pods/Google/Libraries/libGGLCore.a, /Users/User/Documents/Test/Pods/GoogleCloudMessaging/Libraries/libGcmLib.a, /Users/User/Documents/Test/Pods/GoogleInterchangeUtilities/Libraries/libProtocolBuffers.a, /Users/User/Documents/Test/Pods/GoogleNetworkingUtilities/Libraries/libGTMSessionFetcher_full.a, /Users/User/Documents/Test/Pods/GoogleNetworkingUtilities/Libraries/libGTMSessionFetcher_core.a, /Users/User/Documents/Test/Pods/GoogleSymbolUtilities/Libraries/libGSDK_Overload.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_iPhone.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_core.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_UIFont+LineHeight.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_SystemVersion.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_StringEncoding.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_RoundedRectPath.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_Regex.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_NSStringXML.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_NSStringHTML.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_NSScannerJSON.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_NSDictionary+URLArguments.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_KVO.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_GTMURLBuilder.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_DebugUtils.a, /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTM_AddressBook.a, and /Users/User/Documents/Test/Pods/GoogleUtilities/Libraries/libGTMStackTrace.a)

Any idea how I can fix this? Would it be possible to install GCM without Cocoapods?

like image 425
Dan Avatar asked Jun 18 '15 08:06

Dan


2 Answers

Update

With Cocoapods V 0.38.2 it is now possible to use GMC, or any other Objective-C frameworks with Swift frameworks like Alamofire

Make sure that you use use_frameworks! in the podfile

# Uncomment this line to define a global platform for your project
# platform :ios, '8.2'
use_frameworks!

target 'Project' do
    pod 'Google'
    pod 'Google/CloudMessaging'
    pod 'Alamofire'
end

target 'ProjectTests' do

end

Old Answer

I'm using a Swift project too and i'm only using Objective-C frameworks, because Swift & Objective-C frameworks didn't work for me yet.

Try install GCM only without use_frameworks! and without the Alamofire framework (written in Swift)

# Uncomment this line to define a global platform for your project
# platform :ios, '8.2'

target 'Project' do
    pod 'Google'
    pod 'Google/CloudMessaging'
end

target 'ProjectTests' do

end

I ran into some problems when I'm importing GCM in the bridging header file. I'm curious if you encounter the same problems.

Solution for Google Cloud Messaging when the BridingHeader or GGLInstanceIDDelegate is not working, is to install 'Google' pod 'Google'

like image 52
Gerrit Post Avatar answered Oct 24 '22 12:10

Gerrit Post


I met same problem with Google/Analytics pod.

This issue may be resolved in the latest version of CocoaPods.

See this: https://github.com/CocoaPods/CocoaPods/issues/3194

like image 2
Satoshi Suzuki Avatar answered Oct 24 '22 12:10

Satoshi Suzuki