使用未解析的标识符“ PhoneAuthProvider”

Jac*_*ack 2 ios cocoapods firebase swift firebase-authentication

我正在尝试通过firebase验证用户电话号码的窗口,不幸的是我遇到了严重的问题,在Firebase库中找不到类PhoneAuthProvider!但是他们在文件中提到它的存在

POD:

  pod 'Alamofire', '~> 4.4'
  pod 'DropDown'
  pod 'AMTooltip'
  pod 'Firebase'
  pod 'Firebase/Core'
  pod 'Firebase/Crash'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Auth'
  pod 'FacebookCore'
  pod 'FacebookLogin'
  pod 'FacebookShare'
  pod 'TwitterKit'
  pod 'GoogleSignIn'
  pod 'Google/SignIn'
Run Code Online (Sandbox Code Playgroud)

这里的viewcontroller

import Firebase
import FirebaseAuth

    //.....

            PhoneAuthProvider.provider().verifyPhoneNumber("+96170023344") { (verificationID, error) in
                if let error = error {
                    self.showMessagePrompt(error.localizedDescription)
                    return
                }
                // Sign in using the verificationID and the code sent to the user
                // ...
            }
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Kru*_*nal 5

这是参考,
如何在iOS中添加Firebase将Firebase添加到您的iOS项目

我建议您首先尝试使用以下github中提供的示例代码:github.com/firebase/firebase-ios-sdk并检查它是否在您的系统中有效。

注意:
-确保是否FIRPhoneAuthProvider.h在您的广告连播源中存在。FIRPhoneAuthProvider.h PhoneAuthProvider很快。
-还请确保您已安装了所有必需的Pod。
-更新所有Firebase吊舱(或删除所有吊舱并重新安装)

在上面的代码中,它在我的系统中正常工作。这是FIRPhoneAuthProvider.h和podfile的快照

在此处输入图片说明

请完成每个步骤,并确定您没有执行的步骤。它应该可以解决您的问题。


使用CocoaPods进行整合

如果您没有Podfile,请创建一个:

$ cd your-project directory
$ pod init
Run Code Online (Sandbox Code Playgroud)

添加您要安装的Pod。您可以像这样在您的Podfile中包含Pod:

pod 'Firebase/Core'
pod 'Firebase/Auth'
Run Code Online (Sandbox Code Playgroud)

安装pod并打开.xcworkspace文件以查看Xcode中的项目。

$ pod install
$ open your-project.xcworkspace
Run Code Online (Sandbox Code Playgroud)

GoogleService-Info.plistFirebase控制台下载文件,并将其包含在您的应用程序中。



无需CocoaPods即可集成

如果您不想使用Cocoapods,您仍然可以通过直接导入框架来利用Firebase SDK。

  • 下载框架SDK zip(这是一个大约100MB的文件,可能需要一些时间)。
  • 解压缩并查看要包含在项目中的框架的自述文件。
  • 在目标的构建设置的“其他链接器设置”中添加ObjC链接器标志

-

在您的应用中初始化Firebase在您
的UIApplicationDelegate子类中导入Firebase模块:

import Firebase
import FirebaseAuth
Run Code Online (Sandbox Code Playgroud)

配置FIRApp共享实例,通常在应用程序的 application:didFinishLaunchingWithOptions: method:

// Use Firebase library to configure APIs
FirebaseApp.configure()


PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber) { (verificationID, error) in
  if let error = error {
    self.showMessagePrompt(error.localizedDescription)
    return
  }
  // Sign in using the verificationID and the code sent to the user
  // ...
}
Run Code Online (Sandbox Code Playgroud)