Подтвердить что ты не робот

"Цель" 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?

4b9b3361

Ответ 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. Этот блок не может быть создан как фреймворк из-за некоторых статических зависимостей. Вы можете попробовать Карфаген, чтобы построить быстрые зависимости.