Firebase 电话号码身份验证错误

Posted

技术标签:

【中文标题】Firebase 电话号码身份验证错误【英文标题】:Firebase Phone number authentication Error 【发布时间】:2017-07-05 09:49:18 【问题描述】:

我正在使用 Firebase 手机号登录认证 一切都很完美

1) 配置文件

2) 证书

3) 签名方法启用

4) .12 文件的项目设置

5) 一切都应该完美

问题 当我使用此代码使用 Thins 方法发送 OTP 的手机号码时

NSString *phoneNumber = @"+919428936703";

[[FIRPhoneAuthProvider provider]
 verifyPhoneNumber:phoneNumber
 completion:^(NSString * verificationID,
              NSError * error) 

     NSLog(@"VARIFICATION CODE %@", verificationID);
     NSLog(@"Error %@", error);

     if (!error)


     else

     
 ];

也获取调用方法

- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
    // Pass device token to auth.
    [[FIRAuth auth] setAPNSToken:deviceToken type:FIRAuthAPNSTokenTypeSandbox];



- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)notification
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 

    NSLog(@"DATA OF AUTH %@", [FIRAuth auth]);

    if ([[FIRAuth auth] canHandleNotification:notification]) 

        NSLog(@"Handle by Firebase ");

        completionHandler(UIBackgroundFetchResultNoData);
        return;
    else
        NSLog(@"NOT HANDLE BY FIREBASE %@", notification);
    

但在出现此错误日志后发生崩溃

-[__NSCFString setFir_authPhoneNumber:]: unrecognized selector sent to instance 0x166388b0

【问题讨论】:

【参考方案1】:

您似乎没有使用-ObjC 链接器标志链接您的应用,这是Integrate without CocoaPods 说明的一部分。

setFir_authPhoneNumber: 实现为category,因此必须使用-ObjC 链接器标志,否则从库中编译的.o 将不会链接到您的应用二进制文件中。

【讨论】:

以上是关于Firebase 电话号码身份验证错误的主要内容,如果未能解决你的问题,请参考以下文章

Firebase电话身份验证中的“找不到主机名匹配”错误(使用离子)

Firebase 身份验证 - 无法添加电话号码进行测试

在 Firebase 电话身份验证上显示错误弹出窗口“出了点问题,请重试”

使用 Unity 进行 Firebase 电话身份验证

Firebase 电话身份验证失败

Firebase 使用电话号码进行身份验证:使用未解析的标识符 AuthAPNSTokenTypeProd 和 UIBackgroundFetchResultNoData 错误