"Цель" Pods "имеет транзитивные зависимости, которые включают статические двоичные файлы" при установке GCM
Я пытаюсь установить Google Cloud Messaging для моего приложения iOS (используя быстрый). Я добавил его в свой подфайл так:
# 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
Теперь, когда я пытаюсь установить зависимости, я получаю сообщение об ошибке (см. ниже). Он отлично работал, прежде чем я добавил GoogleCloudMessaging. Я попытался создать новый проект и добавить его там, чтобы посмотреть, работает ли он, и я получил ту же ошибку.
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)
Любая идея, как я могу это исправить? Можно ли установить GCM без Cocoapods?
Ответы
Ответ 1
Update
С Cocoapods V 0.38.2 теперь можно использовать GMC или любые другие фреймворки Objective-C со структурами Swift, такими как Alamofire
Убедитесь, что вы используете use_frameworks!
в 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
Старый ответ
Я тоже использую проект Swift, и я использую только рамки Objective-C, потому что рамки Swift и Objective-C еще не работали для меня.
Попробуйте установить GCM только без use_frameworks!
и без рамки Alamofire (написанной в 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
Я столкнулся с некоторыми проблемами, когда я импортирую GCM в файл заголовка моста. Мне любопытно, если вы столкнулись с теми же проблемами.
Решение для облачных сообщений Google, когда BridingHeader или GGLInstanceIDDelegate не работает, заключается в установке "Google" pod 'Google'
Ответ 2
Я встретил ту же проблему с Google/Analytics
pod.
Эта проблема может быть решена в последней версии CocoaPods.
Смотрите это:
https://github.com/CocoaPods/CocoaPods/issues/3194
Ответ 3
Существует проблема с самим модулем Google/CloudMessaging. Этот блок не может быть создан как фреймворк из-за некоторых статических зависимостей. Вы можете попробовать Карфаген, чтобы построить быстрые зависимости.
Ответ 4
У меня была аналогичная проблема. Мой блок был 0,37.2. Я обновился до 0,38.2, как указано в https://github.com/googlesamples/google-services/issues/22. он решил.