我们正在与Firebase合作的iOS应用程序之上构建一个今日小部件。但是,我们正努力从扩展中访问当前登录用户。主应用程序中的用户是匿名的,因此不能通过共享容器传递凭据。如何从iOS Today Extension访问当前的Firebase用户?
,我发现是通过uid和生成自定义令牌登录,但我希望能找到更好的方法来我主要的应用程序和应用程序扩展之间共享FIRUser的唯一途径。什么是实现这一目标的最佳方式?
我们正在与Firebase合作的iOS应用程序之上构建一个今日小部件。但是,我们正努力从扩展中访问当前登录用户。主应用程序中的用户是匿名的,因此不能通过共享容器传递凭据。如何从iOS Today Extension访问当前的Firebase用户?
,我发现是通过uid和生成自定义令牌登录,但我希望能找到更好的方法来我主要的应用程序和应用程序扩展之间共享FIRUser的唯一途径。什么是实现这一目标的最佳方式?
只能使用App Group
来共享Host App
和App Extension
之间的数据。 没有你Host App
和App Extension
之间的直接的沟通方式。
即使一个应用程序扩展束嵌套包含其 应用程序的包中,正在运行的应用的扩展和含有应用程序内具有彼此的容器没有 直接访问。
App Group
是由两个Host App
以及App Extension
使用shared container
。这就像存储key-value pairs
的UserDefaults
一样。
所以,你可以在App Group
从Host App
保存当前的用户信息,然后从同一个App Group
访问它在你的Today Extension
。
更多关于App Groups
参考:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html
我刚刚(几秒钟前)回答了类似的问题
你想出了这个好的解决办法? – siburb
不是,我们为小部件创建另一个访客用户。这里的问题是没有参数传递来验证相同的访客用户。所以这是一个重复,但它的作品。 –