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?
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
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'
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
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.
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.