Я успешно установил Firebase в свой проект iOS, следуя официальным рекомендациям, и теперь хочу протестировать аутентификацию телефона, которая уже была успешно выполнена для другой платформы ОС телефона. Проблема в функции
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate:...
Это дает красный восклицательный знак ошибки, сообщающий
Use of unresolved identifier 'PhoneAuthProvider'
Это даже после обновления файла Pod с помощью
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Auth'
~ pod install
~ open myproj.xcworkspace
Теперь в ViewController.swift я импортирую firebase
import Firebase
Конечно, импорт и проверки с помощью файла .plist уже были выполнены, и я уже мог успешно подключиться до этого. AppDelegate также требует инициализации. Я наткнулся на это конкретное место, где требуемый класс не может быть разрешен.
Помощь!
@SagarBhut Это официальная альтернатива или почему я должен держаться подальше от того, что мне говорит Apple?
Хорошо, я сам нашел решение. Следующие шаги
Сначала мне пришлось создать новый проект со всеми новыми зависимостями и идентификаторами и новый файл plist в консоли Firebase.
Во-вторых, мне пришлось по-другому создать pod-файл. Интересно, что я делал раньше, но это то, что тебе нужно сделать
pod 'Firebase/Core'
внутри файла после его создания с помощью
:~$ pod init
Теперь сохраните файл и в терминале
:~$ pod install
Теперь я запускаю приложение и сообщаю Firebase, что я правильно настроил список файлов.
Затем, когда мне нужно использовать телефонную аутентификацию, мне пришлось пройти через этот https://firebase.google.com/docs/auth/ios/phone-auth
В основном я теперь вставляю новую строку
pod 'Firebase/Auth'
а затем выпустить
:~$ pod install
После успешного запуска рабочей области я смог просто импортировать библиотеку Firebase поверх и вызывать функцию везде, где мог, без красной восклицательной ошибки. Однако меня все еще беспокоит тривиальная проблема. Линия
self.showMessagePrompt()
не определено и теперь выдает ошибку. Мне пришлось подавить это, закомментировав это и выполнив простой журнал на консоли.
вы можете попробовать Auth.provider ()