Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase电子邮件身份验证在单击链接时未打开iOS应用程序_Ios_Firebase_Firebase Authentication - Fatal编程技术网

Firebase电子邮件身份验证在单击链接时未打开iOS应用程序

Firebase电子邮件身份验证在单击链接时未打开iOS应用程序,ios,firebase,firebase-authentication,Ios,Firebase,Firebase Authentication,我正在我的应用程序中使用Firebase身份验证(电子邮件、无密码),并尝试遵循 有几个部分特别令人困惑: 部分代码是actionCodeSettings.url=url(字符串:https://www.example.com“”——这个URL应该是什么?对于iOS应用程序,我希望用户点击iPhone上的链接并启动应用程序,这有什么关系 它提到,应用商店ID和苹果开发者团队ID也需要指定——如果我的应用不在应用商店中并且仅通过TestFlight分发,该怎么办 它告诉,您还需要将电子邮件操作处理

我正在我的应用程序中使用Firebase身份验证(电子邮件、无密码),并尝试遵循

有几个部分特别令人困惑:

  • 部分代码是
    actionCodeSettings.url=url(字符串:https://www.example.com“”
    ——这个URL应该是什么?对于iOS应用程序,我希望用户点击iPhone上的链接并启动应用程序,这有什么关系
  • 它提到,
    应用商店ID和苹果开发者团队ID也需要指定
    ——如果我的应用不在应用商店中并且仅通过TestFlight分发,该怎么办
  • 它告诉
    ,您还需要将电子邮件操作处理程序域配置为应用程序功能中的关联域。默认情况下,电子邮件操作处理程序托管在类似以下示例的域上:APP_ID.firebaseapp.com
    ——APP_ID是什么,它与上一步中的Apple ID相同吗?什么是电子邮件操作处理程序域,如何添加
  • 我尝试将
    应用程序:openURL:options:
    方法添加为,但实际上从未调用过
  • 流量到底会是什么样子?例如,在完美的实施中,是否需要推出Safari?我的应用程序应该能够处理哪些链接
  • 我如何验证我是否正确实现了所有功能,以及它是否只是重定向到我的应用程序/身份验证不正确
  • 当我使用GoogleSignIn时,我必须在应用程序启动时调用Signally方法,以了解哪个用户已经登录。这是一个异步方法,这意味着我可能需要显示一个微调器。此身份验证方法是否有类似的要求?或者我如何知道谁已登录
  • 1. <代码>动作代码设置。url 这必须是控制台>开发>身份验证>登录方法>授权域中列出的域。否则,将出现未经授权的域错误

    这实际上是在决定当用户点击桌面上的链接时会发生什么。例如,你可能想把他们带到404页面,或者一个解释如何打开他们iPhone上链接的页面

    如果您没有其他可用内容,则始终可以获取该部分中列出的foo-xxxx.firebaseapp.com或foo-xxxx.web.app URL,其中将显示“未找到站点”页面

    2.仅限试飞 这会有用的!您可以从iTunes Connect站点获取应用程序ID

    3.电子邮件操作处理程序 不确定这一步到底是什么
    APP_ID
    很可能是指firebase控制台中的
    foo xxxx
    值,您可以在步骤1中找到该值

    但是,您可能不想使用建议的
    APP\u ID.firebaseapp.com
    值。相反,您希望遵循,并且在Xcode中的项目设置下,您将看到“功能”>“关联域”选项卡。在那里,您需要添加
    applinks:your\u dynamic\u links\u domain
    ,它可能看起来像
    applinks:foo.page.link

    4. <代码>应用程序:openURL:选项:未调用 使用openURL方法启动应用程序的通用链接(例如)。相反,您需要实现,正如在

    5.适当流量 如果您正确地实现了所有功能,它将如下所示:

  • 用户将收到一封带有表单链接的电子邮件
  • 点击链接后,应用程序将打开
  • 应用程序打开后,将调用
    应用程序(:,continue:,restorationHandler:)
    方法,此时您应该调用
    Auth.Auth().isSignIn(使用emaillink:link)
    ,然后最终调用
    Auth.Auth().signIn(使用email:email,link:link)
  • 6.验证 尝试向自己发送电子邮件,然后点击登录链接。返回电子邮件并再次点击,它不应该工作,因为每个代码只能使用一次

    7.找出谁已登录 您应该能够通过同步方法
    Auth.Auth().currentUser?.email
    找到登录的用户