如何从iOS Today Extension访问当前的Firebase用户?

我们正在与Firebase合作的iOS应用程序之上构build一个今天的小部件。 但是,我们正在努力从扩展中访问当前login的用户。 主应用程序中的用户是匿名的,因此不能通过共享容器传递凭据。

唯一的办法,我发现传递uid并生成自定义令牌login,但我希望find更好的方式来分享我的主要应用程序和应用程序扩展之间的FIRUser。 什么是实现这个目标的最好方法?

您只能使用App GroupHost AppApp Extension之间共享数据。 您的Host AppApp Extension之间没有直接的通信方式。

即使应用程序扩展包嵌套在其包含的应用程序包中,正在运行的应用程序扩展和包含应用程序也不能直接访问彼此的容器。

App GroupHost App以及App Extension使用的shared container 。 这就像存储key-value pairs UserDefaults一样。

因此,您可以将当前的用户信息从Host App保存到App Group ,然后从同一App Group中的Today Extension访问它。

有关App Groups更多信息,请参阅: https : //developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html

我刚刚(几秒钟前)回答了一个类似的问题

如何将Firebase添加到Today Extension iOS