Переход с многоплатформенной страницы xamarin на страницу iOS или Android - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь следовать этому руководству при создании страницы входа с использованием Auth0: https://auth0.com/docs/quickstart/native/xamarin/01-login#handing-the-callback-url и заметил, что руководство создает две отдельные страницы входа для Android и iOS, как если бы они были двумя отдельными приложениями / проектами /решения.Но мое приложение должно быть совместимо как с Android, так и с iOS, поэтому я создал страницу форм в RoseySports.ios с именем Login_iOS (как показано на скриншоте 1) и хотел бы проверить, работает ли страница входа, но не можетпохоже, что есть способ установить MainPage как Login_iOS (скриншот 2).Я бы хотел, чтобы, если устройство работает под управлением iOS, оно перенаправляло пользователя на версию страницы входа для iOS, и наоборот для Android.Извините, если я не использую правильную терминологию при описании моей проблемы.Причина, по которой мне пришлось создать две отдельные страницы входа в систему для iOS и Android, заключалась в том, что мне пришлось использовать using Auth0.OidcClient;, поскольку существуют отдельные пакеты Nuget для решения iOS и решения Android, которое не работает при попытке разместить его на главномпроект (совместимый для iOS и Android).

И, пожалуйста, дайте мне знать, если есть способ сделать только одну страницу входа для обеих платформ, используя Auth0.

Screenshot 1 Screenshot 2

ОБНОВЛЕНИЕ:

Это то, что я сделал сейчас, но я получаю ошибку в MainPage = new RoseySports.Login_iOS();, говоря, что Логин.iOS не существует в пространстве имен RoseySports.Это остальная часть кода:

        `switch(Device.RuntimePlatform)
        {
            case Device.iOS:

                MainPage = new RoseySports.Login_iOS();

                    break;

            case Device.Android:

                MainPage = new Login_Page();

                break;
        }`

1 Ответ

0 голосов
/ 20 ноября 2018

У вас есть несколько вопросов, и в StackOverflow вы не должны задавать их в одном вопросе, но давайте попробуем ответить на них:

  • Страницы - это только графические элементы, и в большинстве случаев нет необходимости реализовывать отдельные графические элементы в iOS и Android, и ваша не выглядит для этого правильной
  • В общем, вы можете реализовать некоторый код в зависимости от платформы. Если вы используете общие проекты, вы можете использовать условную компиляцию , если нет, то внедрение зависимостей
  • Вы можете использовать некоторые из вышеперечисленных методов, чтобы делать то, что вы хотели сделать (иметь разные версии страниц для каждой платформы)
...