Невозможно найти GoogleService-Info.plist при попытке интегрировать Google Sign-in в мое приложение

Я следил за: Интеграция входа через Google в ваше приложение для iOS

Однако когда я запускаю приложение, оно останавливается в самом делегате приложения - даже до того, как я увижу свой первый контроллер представления.

Причина в этих нескольких строках кода, которые я написал в "application didFinishLaunchingWithOptions withOptions ", а именно:

"NSError* configureError;
[[GGLContext sharedInstance] configureWithError: &configureError];
    NSAssert(!configureError, @"Error configuring Google services: %@", configureError);

 [GIDSignIn sharedInstance].delegate = self;"

В отладке, когда он достигает этого кода, он говорит

«Завершение работы приложения из-за неперехваченного исключения« NSInternalInconsistencyException », причина:« Ошибка настройки служб Google: Error Domain = com.google.greenhouse Code = -200 »Не удалось настроить GGL». UserInfo = 0x7ff9c2e1d000 {NSLocalizedRecoverySuggestion = Проверить форматирование и расположение службы GoogleService -Info.plist., NSLocalizedDescription = Невозможно настроить GGL., NSLocalizedFailureReason = Невозможно проанализировать предоставленный GoogleService-Info.plist. Подробности см. В журнале.} '".

Я поместил GoogleService-Info.plist в свой каталог, но он по-прежнему не работает.


person Karan. S    schedule 08.07.2015    source источник
comment
Добро пожаловать в стек: прочтите stackoverflow.com/help/how-to-ask Это нормально, чтобы расстраиваться, но пожалуйста, оставьте свои вопросы по теме в будущем.   -  person DaImTo    schedule 08.07.2015


Ответы (4)


Я столкнулся с той же проблемой. И, собственно, я решил это, когда в файле cocoapods я поместил «pod 'Google / SignIn'» вместо «pod Google». Надеюсь, это тоже поможет.

person Dmitriy Stupivtsev    schedule 30.07.2015
comment
Братан Да, это тоже была моя проблема. Хотя я узнал об этом 2 недели назад, все же очень благодарен, что есть такие хорошие самаритяне, как вы. - person Karan. S; 31.07.2015
comment
Надеюсь, эта ветка поможет кому-то еще, у кого была такая проблема. - person Karan. S; 31.07.2015
comment
На мой взгляд, файл не был указан в разделе "Копировать ресурсы пакета на этапах сборки". хотя я получал ту же ошибку, что и в OP (я использую swift, а не Obj-C) - person JustADev; 09.10.2015

  1. Вы должны перетащить GoogleService-Info.plist файл в свой проект в такое место, как Shared Resources. Когда вы успешно добавили файл, вы также должны обязательно включить его в сборку проекта:

Изображение, показывающее добавленный ресурс

  1. Еще раз проверьте, что в разделе «Build Phases» вашего проекта ваш проект включает GoogleService-Info.plist. введите описание изображения здесь

  2. Дважды проверьте имя файла. Имя файла должно совпадать с GoogleService-Info.plist распространенными орфографическими ошибками, включая GoogleServices-Info.plist и GoogleService-info.plist - с учетом регистра и с точным названием. Работа.

person class    schedule 08.07.2015
comment
класс, большое спасибо за ответ! , но в моем проекте xcode нет папки с именем Shared Resources. Я добавил GoogleService-Info.plist. внутри моей целевой папки, и он также находится в ресурсах Copy Bundle, но все еще показывает ошибку firetrucking. :-( - person Karan. S; 10.07.2015
comment
Ах да, я подумал, что будет полезно также сообщить вам, что файл GoogleService-Info.plist. добавляется в мою целевую папку, а не в цель стручков (которую я получил после использования cocoapods) - person Karan. S; 10.07.2015
comment
Включено ли оно в раздел ресурсов пакета копирования? - person class; 12.07.2015
comment
Спасибо! Наконец-то сработало ... даже после кропотливого следования указателям Google на букву "T" все равно разбилось ... Google должен добавить вашу информацию в свои указания ... - person ; 29.05.2017
comment
Привет, я пробовал перетаскивать цели, а также в проходах сборки, но это все еще дает мне ошибку. Вы можете мне помочь? взгляните на этот вопрос. Я тщательно выполнил вышеуказанные шаги, я использую Xcode 9.2 - person Leap Hawk; 13.01.2018

Если вы хотите получить только GCM_SENDER_ID, попробуйте следующее обходное решение:

NSError* configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSString * gcmSenderID = [GGLContext sharedInstance].gcmSenderID;
NSLog(@"%@", gcmSenderID);
person Rondinelli Morais    schedule 19.08.2015

Это происходит со мной, когда я обновляю модули Google. Они изменили способ настройки схем URL-адресов. Лучше всего просто перенастроить вход в Google.

person Sohil    schedule 21.11.2015