Вход в Google Expo работает с симулятором Android, но не с iOS - PullRequest
0 голосов
/ 04 декабря 2018

Я делаю простое приложение Expo, в котором я пытаюсь реализовать логин Google и Facebook.Я реализовал вход в Facebook и протестировал на iOS и Android.

Но при входе в Google я пытался, но он работал только с Android Simulator.Не работает с устройством iOS и симулятором.

Мои ссылки верны.Но это доставляет мне проблемы только с симулятором iOS.Этот код работает с симулятором Android и дает мне токен Google на устройстве Android.Но на iOS я получаю эту ошибку

"Your app is missing support for the following URL schemes com.googleusercontent.apps.ID-googleGivenID" was thrown while invoking loginAsync on target ExponentGoogle with params({ androidClientId = #ID-googleGivenID.apps.googleusercontent.com;
behaviour = system;
iosClientId = "#ID-googleGivenID.apps.googleusercontent.com";
scopes = (
  profile,
  email
)
})

App.json

{
  "expo": {
    "name": "InStore",
    "description": "This project is really great.",
    "slug": "InStore",
    "privacy": "public",
    "sdkVersion": "31.0.0",
    "platforms": ["ios", "android"],
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": ["**/*"],
    "ios": {
      "supportsTablet": true
    },
    "extra": {
      "googleAppId": {
        "ios": "#ID-googleGivenID.apps.googleusercontent.com",
        "android": "#ID-googleGivenID.apps.googleusercontent.com"
      }
    }
  }
}

Файл входа в Google

const loginAsync = async () => {
  try {
    const result = await Google.logInAsync({
      androidClientId: '#ID-googleGivenID.apps.googleusercontent.com',
      iosClientId: '#ID-googleGivenID.apps.googleusercontent.com',
      scopes: ['profile', 'email']
    });

    if (result.type == 'success') {
      return Promise.resolve(result.accessToken);
    } else {
      return Promise.reject('Filed');
    }
  } catch (error) {
    return Promise.reject(error);
  }
};

1 Ответ

0 голосов
/ 24 января 2019

исправлено с

behavior : 'web' 
const result = await Expo.Google.logInAsync({ iosClientId: '-------------.apps.googleusercontent.com', androidClientId: '--------.apps.googleusercontent.com', behavior: 'web', scopes: ['profile', 'email'], });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...