web-dev-qa-db-fra.com

'La cible' Pods 'a des dépendances transitives qui incluent des fichiers binaires statiques' lors de l'installation de GCM

J'essaie d'installer Google Cloud Messaging pour mon application iOS (à l'aide de Swift). Je l'ai ajouté à mon Podfile comme ceci: 

# 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

Maintenant, lorsque j'essaie d'installer les dépendances, j'obtiens une erreur (voir ci-dessous). Cela fonctionnait bien avant d’ajouter GoogleCloudMessaging. J'ai essayé de créer un nouveau projet et de l'ajouter à la place pour voir si cela fonctionnait et j'ai la même erreur.

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)

Une idée de comment je peux résoudre ce problème? Serait-il possible d'installer GCM sans Cocoapods?

19
Dan

Mettre à jour

Avec Cocoapods V 0.38.2, il est maintenant possible d’utiliser GMC, ou n’importe quel autre framework Objective-C avec Swift, comme Alamofire.

Assurez-vous que vous utilisez use_frameworks! dans le 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

Réponse ancienne

J'utilise aussi un projet Swift et je n'utilise que des frameworks Objective-C, car les frameworks Swift & Objective-C ne fonctionnaient pas encore pour moi. 

Essayez d'installer GCM uniquement sans use_frameworks! et sans le framework Alamofire (écrit en 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

J'ai rencontré des problèmes lorsque j'importais GCM dans le fichier d'en-tête de pontage. Je suis curieux de savoir si vous rencontrez les mêmes problèmes. 

La solution pour la messagerie en nuage Google lorsque le BridingHeader ou le GGLInstanceIDDelegate ne fonctionne pas, consiste à installer 'Google' pod 'Google' 

6
Gerrit Post

J'ai rencontré le même problème avec Google/Analytics pod.

Ce problème peut être résolu dans la dernière version de CocoaPods.

Voir ceci: https://github.com/CocoaPods/CocoaPods/issues/3194

2
Satoshi Suzuki

Il y a un problème avec le pod Google/CloudMessaging lui-même. Ce module ne peut pas être construit en tant que cadre, à cause de certaines dépendances statiques. Vous pouvez essayer Carthage pour vous construire des dépendances Swift.

1
Maleandr

J'avais un problème similaire. Mon pod était 0.37.2. J'ai mis à jour à 0.38.2 comme indiqué dans https://github.com/googlesamples/google-services/issues/22 . Je l'ai résolu. 

1
Martin Jacob