2015-10-30 2 views
2

Мне нужно использовать GoogleCloudMessaging в моем приложении. Я установил его через Cocoapods. Когда я добавил эту часть кода:Связанная с GoogleCloudMessaging ошибка

GLInstanceIDConfig *instanceIDConfig = [GGLInstanceIDConfig defaultConfig]; 
    instanceIDConfig.delegate = self; 
    // Start the GGLInstanceID shared instance with the that config and request a registration 
    // token to enable reception of notifications 
    [[GGLInstanceID sharedInstance] startWithConfig:instanceIDConfig]; 
    _registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken, 
          kGGLInstanceIDAPNSServerTypeSandboxOption:@YES}; 
    [[GGLInstanceID sharedInstance] tokenWithAuthorizedEntity:GCMSSenderID 
                 scope:kGGLInstanceIDScopeGCM 
                 options:_registrationOptions 
                 handler:_registrationHandler]; 

И у меня есть эти ошибки:

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_GGLInstanceID", referenced from: objc-class-ref in AppDelegate.o "_OBJC_CLASS_$_GGLInstanceIDConfig", referenced from: objc-class-ref in AppDelegate.o "_kGGLInstanceIDAPNSServerTypeSandboxOption", referenced from: -[AppDelegate application:didRegisterForRemoteNotificationsWithDeviceToken:] in AppDelegate.o "_kGGLInstanceIDRegisterAPNSOption", referenced from: -[AppDelegate application:didRegisterForRemoteNotificationsWithDeviceToken:] in AppDelegate.o "_kGGLInstanceIDScopeGCM", referenced from: -[AppDelegate application:didRegisterForRemoteNotificationsWithDeviceToken:] in AppDelegate.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

параметры проекта:

-> Build Активный Архитектура Только - ДА

-> Другие связанные флаги содержат $ (унаследованные)

-> Развертывание t arget - 8.0

Пожалуйста, помогите! Спасибо заранее!

+0

убедитесь, что вы создаете рабочую область, а не проект, потому что CocoaPods еще один отдельный проект в рабочем пространстве – user102008

ответ

0

Эта ошибка возникает из-за недостающих библиотек в вашем проекте.

Заполните Build Phases -> Link Binary With Libraries. Любая из ваших фреймворков могла быть удалена оттуда.

Добавить и очистить и построить проект.

Возможно, это поможет вам.

1

Проверка на 4 вещи:

  1. Вы не загруженная вручную GoogleCloudMessaging в вашем проекте. Если они есть, удалите их и переустановите контейнеры.

  2. Проверьте компоновщик Путь в настройках сборки. Используйте '$ унаследованный' перед установкой pod.

  3. После переустановки стручков, очистить свой проект с CMD + сдвигом + к, а затем запустить свой проект.

  4. Сложение Активный Архитектура только - НЕТ, и для целевых -да

Смежные вопросы