重新验证后,页面只返回空白。它没有做下一步。
屏幕截图
答案 0 :(得分:1)
对于空白的验证码页面问题,我可以通过做以下三件事来解决:
第一件事-
在GoogleSerivce-Info.plist
文件中,确保将REVERSED_CLIENT_ID
添加到项目via the URL types using this中。在此处执行第二步的第一部分:向Xcode项目中添加自定义URL方案。
第二件事-
在项目导航器中,选择blue project icon
选择Capabilities
打开Background Modes
选择Background fetch
第三件事-
PhoneAuthProvider.provider(auth: Auth.auth())
之前@IBAction func phoneButton(sender: UIButton) {
// ***step 5***
PhoneAuthProvider.provider(auth: Auth.auth())
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumberTextField.text!, uiDelegate: nil) {
(verificationID, error) in
if let error = error {
print(error.localizedDescription)
return
}
guard let verificationId = verificationID else { return }
// do something with verificationID
}
}
答案 1 :(得分:0)
在应用程序委托的application(_:open:options:)
方法中,调用Auth.auth().canHandle(url)
。
答案 2 :(得分:0)
在iOS上,必须在调用verifyPhoneNumber之前将appVerificationDisabledForTesting设置设置为TRUE。无需任何APNs令牌或在后台发送静默推送通知即可对其进行处理,从而使其更易于在模拟器中进行测试。这也会禁用reCAPTCHA后备流程。
答案 3 :(得分:0)
我遇到了这个问题并通过将此代码添加到我的 AppDelegate.m 中来修复它
template<class InputIt1, class InputIt2,
class OutputIt, class Compare,
class BinaryOp>
OutputIt set_union_transform(InputIt1 first1, InputIt1 last1,
InputIt2 first2, InputIt2 last2,
OutputIt d_first, Compare comp,
BinaryOp binary_op)
{
for (; first1 != last1; ++d_first) {
if (first2 == last2)
return std::copy(first1, last1, d_first);
if (comp(*first2, *first1)) {
*d_first = *first2++;
} else if (comp(*first1, *first2)) {
*d_first = *first1++;
} else {
*d_first = binary_op(*first1++, *first2++);
}
}
return std::copy(first2, last2, d_first);
}