firebase auth - signInWithRedirect проекта Cordova в iOS не перенаправляет

92
11

Я новичок в кодировании и плохой на английском. Пожалуйста, простите меня за то, что вы задали глупый вопрос или плохо сформулировали мой вопрос в продвинутом виде.

Для Android-приложения я создал apk by android stuido. Все работает как ожидалось.

Для приложения iOS я сначала создал его с помощью PhoneGap Build. Я отправил его в Apple, и он был отклонен с предложением добавить собственные функции iOS, например push push-уведомления. Поэтому я нашел " https://medium.com/@t1tan1um/fcm-integration-for-cordova-hybrid-apps-c679f5fc1988 " и добавил кордову-плагин-fcm.

Моя текущая ситуация, просто говоря, "firebase.auth(). SignInWithRedirect" и "firebase.auth(). SignInWithEmailandPassword" не работают ни в симуляторе, ни в моем ipad (с использованием TestFlight). Тем не менее, они оба хорошо работают в моем приложении для Android, которое написано с тем же кодом, что и приложение iOS.

Ниже приведены некоторые сведения о моем проекте:

создание приложений Кордовы в окнах 10. следовали всему в Authenticate, используя поставщиков OAuth с Cordova,

после того, как "кордовая платформа добавит ios", затем "плагин cordova add cordova-plugin-fcm", затем "cordova build ios". Структура папок моей папки подключаемого модуля выглядит следующим образом: структура папок кордовы ios plugin

скопировал всю папку "ios" в удаленный Mac с уже установленным xCode.

выполнил множество требований к сертификатам и ключам от Apple, выполнил множество требований к значкам и запуска экрана от Apple, смог успешно создать приложение/запустить приложение в симуляторе/отправить в App Store.

    просмотр/загрузка контента с хостинга firebase в порядке.

    просмотр/загрузка содержимого из базы данных firebase в порядке.

    Я пишу webApp с пользовательским интерфейсом Onsen, у них есть функция диалога, чтобы показать всплывающее диалоговое окно с сообщением, в которое я перехожу. Диалог не появился.

    как я уже упоминал, нет ответа, когда я нажимал "firebase.auth(). signInWithRedirect" или "firebase.auth(). signInWithEmailandPassword". Однако они хорошо работают в Android-приложении.

Ниже представлена структура, которую я вижу в xCode: настройка структуры xcode

Список файлов внутри плагинов: файлы плагинов

ресурсы, рамки, связанные структуры и библиотеки в разделе "Общие",

Проблемы с CordovaLab

целевые задачи

когда я запускаю приложение в xCode. Обратите внимание, что я изменил имя своего приложения на "ПРОЕКТ".

наконец, config.xml, я знаю, что это беспорядок, пожалуйста, простите меня:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.PROJECT.NAME" version="2.1.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<feature name="LocalStorage">
<param name="ios-package" value="CDVLocalStorage" />
</feature>
<feature name="Console">
<param name="ios-package" value="CDVLogger" />
<param name="onload" value="true" />
</feature>
<feature name="HandleOpenUrl">
<param name="ios-package" value="CDVHandleOpenURL" />
<param name="onload" value="true" />
</feature>
<feature name="IntentAndNavigationFilter">
<param name="ios-package" value="CDVIntentAndNavigationFilter" />
<param name="onload" value="true" />
</feature>
<feature name="GestureHandler">
<param name="ios-package" value="CDVGestureHandler" />
<param name="onload" value="true" />
</feature>
<feature name="BrowserTab">
<param name="ios-package" value="CBTBrowserTab" />
</feature>
<feature name="BuildInfo">
<param name="ios-package" value="CDVBuildInfo" />
</feature>
<feature name="Notification">
<param name="ios-package" value="CDVNotification" />
</feature>
<feature name="FCMPlugin">
<param name="ios-package" value="FCMPlugin" />
</feature>
<feature name="UniversalLinks">
<param name="ios-package" value="CULPlugin" />
<param name="onload" value="true" />
</feature>
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
<widget CFBundleVersion="2.1.6">
</widget>
<name>PROJECT</name>
<icon src="www/img/png/PROJECT.png" />
<description>
WELCOME TO THE OFFICIAL APP OF PROJECT.
</description>
<author email="PROJECT@PROJECT.com" href="http://PROJECT.com">
PROJECT. Team
</author>
<content src="index.html" />
<access origin="*" />
<access origin='*' allows-arbitrary-loads-for-media='true' allows-arbitrary-loads-in-web-content='true' allows-local-networking='true' />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />
<allow-navigation href="about:" />
<access origin="about:*" />
<allow-navigation href="about:" />
<allow-navigation href="https://PROJECT.com" />
<allow-navigation href="FIREBASE DYNAMIC LINK" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<feature name="SocialSharing">
<param name="ios-package" value="SocialSharing" />
</feature>
<feature name="SocialSharing">
<param name="android-package" value="nl.xservices.plugins.SocialSharing" />
</feature>
<gap:plugin name="cordova-plugin-x-socialsharing" source="npm" />
<plugin name="cordova-plugin-dialogs" spec="^2.0.1" />
<plugin name="cordova-plugin-network-information" spec="^2.0.1" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<universal-links>
<host name="FIREBASE DYNAMIC LINK" scheme="https" />
<host name="AUTH.DOMAIN" scheme="https">
<path url="/__/auth/callback" />
</host>
</universal-links>
<plugin name="cordova-plugin-customurlscheme" spec="^4.3.0">
<variable name="URL_SCHEME" value="com.PROJECT.NAME" />
<variable name="ANDROID_SCHEME" value=" " />
<variable name="ANDROID_HOST" value=" " />
<variable name="ANDROID_PATHPREFIX" value="/" />
</plugin>
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="BackupWebStorage" value="local" />
<preference name="DisallowOverscroll" value="false" />
<preference name="EnableViewportScale" value="false" />
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="SuppressesLongPressGesture" value="false" />
<preference name="Suppresses3DTouchGesture" value="false" />
<preference name="GapBetweenPages" value="0" />
<preference name="PageLength" value="0" />
<preference name="PaginationBreakingMode" value="page" />
<preference name="PaginationMode" value="unpaginated" />
<preference name="AndroidLaunchMode" value="singleTask" />
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
<preference name="CordovaDefaultWebViewEngine" value="CDVUIWebViewEngine" />
</widget>

БОЛЬШЕ ВОПРОСОВ:

    Должен ли я повторить всю процедуру создания приложения iOS в Кордове в xCode? это проблема, связанная с UIWebViewController, если да, то как мне ее исправить?

Я застрял здесь много дней. Кодирующие мастера, пожалуйста, помогите мне. Ваша помощь будет очень оценена.

ps Мне также интересно, будет ли полоса работать и в приложении iOS, но я оставлю ее после исправления текущей проблемы.

В очередной раз благодарим за помощь.

спросил(а) 2018-04-13T07:01:00+03:00 3 года, 6 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема