Добавление кнопок входа в социальную сеть в стартовое приложение AWS реагирует
Я успешно развернул пример приложения для начинающих AWS React-Native Pet Tracker из AWS Mobile Hub. Он скомпилирован нормально и работает как есть, я могу создать пользователя, и все работает, как описано здесь на их странице Github: https://github.com/aws-samples/aws-mobile-react-native-starter
Затем я хотел добавить кнопку входа в социальную сеть Google в дополнение к функциональности OOTB, поэтому я следовал указаниям (для iOS): https://docs.aws.amazon.com/aws-mobile/latest/developerguide/add-aws-mobile-user-sign-in.html
Прежде всего, это указания для Swift (не Objective-C), поэтому я преобразовал проект по умолчанию RN в Swift, протестировал его и все еще работало, затем я следовал инструкциям и установил Какао-Бобы и снова протестировал, чтобы убедиться, что он работает. Наконец, на шаге 3 они говорят:
" Добавьте код для создания экземпляра AWSMobileClient в приложении: откройте функцию url вашего AppDelegate.swift, чтобы возобновить ранее авторизованный сеанс с аутентификацией. Затем добавьте еще один экземпляр AWSMobileClient в функцию didFinishLaunching, чтобы зарегистрировать провайдеров входа, и получить учетные данные Amazon Cognito, которые AWS будет использовать для авторизации доступа после входа пользователя в систему. "
Я скопировал код, поместил его в свою функцию, сборка прошла успешно (сборка из XCode), но затем, когда приложение запускается (в эмуляторе), я получаю следующую ошибку:
Завершение работы приложения из-за необработанного исключения "NSInternalInconsistencyException", причина: "Конфигурация службы nil
, Вам необходимо настроить awsconfiguration.json
или же Info.plist
перед использованием этого метода.
Похоже, что поиск файла awsconfiguration.json необходим для подключения к AWS Cognito (и другим бэкэнд-сервисам, на которые я полагаю), однако в инструкциях для React-Native на той странице, на которую я ссылался выше, упоминается файл awsconfiguration.json. Я также посмотрел на мобильном концентраторе для моего приложения, и нет такого файла для загрузки. Любые указатели высоко ценятся? Спасибо.
РЕДАКТИРОВАТЬ: я сделал шаг вперед, создав новое приложение для iOS в AWS Mobile Hub, которое затем дало мне возможность загрузить файл awsconfiguration.json. Я добавил его в проект xCode и изменил идентификаторы в соответствии с моими внутренними идентификаторами (которые находятся в файле aws-config.js из примера приложения RN, созданного первоначально в Mobile Hub). Сборка в xCode завершилась успешно, и приложение фактически запустилось, но я до сих пор не понимаю, как заставить социальные кнопки входа работать с остальной частью приложения? Будет ли логика в коде RN или в xCode/Android? и какова будет эта логика, как она будет взаимодействовать с сервисами AWS Mobile?