我们正在使用与Firebase合作的iOS应用程序之上构建今日小部件。但是,我们正在努力从扩展程序访问当前登录用户。主应用程序的用户是匿名的,因此无法通过共享容器传递凭据。
我找到的唯一方法是传递uid并生成自定义令牌以登录,但我希望找到更好的方式在我的主应用和应用扩展之间共享FIRUser。实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
您只能使用Host App
在App Extension
和App Group
之间共享数据。
您的Host App
和App Extension
之间无法直接沟通。
即使应用扩展程序包嵌套在其包含内 应用程序包,正在运行的应用程序扩展和包含应用程序没有 直接访问彼此的容器。
App Group
是shared container
以及Host App
使用的App Extension
。就像存储UserDefaults
的{{1}}一样。
因此,您可以将key-value pairs
中的当前用户信息保存在App Group
中,然后从同一Host App
Today Extension
中访问{。}}。
有关App Group
的更多信息,请参阅:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html