Ces*_*are 8 ios firebase swift
我正在我的应用程序共享扩展程序中进行一些API Firebase调用(下载一些用户特定数据)但用户未登录到Firebase(也currentUser就是nil),所以我没有得到任何数据,因为我需要uid.换句话说,数据库仅允许经过身份验证的用户访问数据.我怎样才能解决这个问题?
为了扩展KutakMir的答案,这些步骤对我们有效:
这个Stackoverflow答案的步骤:
pod install)在App Extension编程指南:处理常见场景中进行了介绍。基本上,在两个目标的“ 功能”选项卡上都打开“ 应用程序组 ” (即,包含应用程序和共享扩展名),并在两个位置提供相同的名称。
基本步骤与步骤2相似:在“ 功能”选项卡上为两个目标都启用“ 钥匙串共享 ” ,并在两个位置都提供名称。(在官方文档中有更多详细信息。)
使用文档中的查询时,请确保将您的APP_ID附加到“钥匙串”访问组中!上面的链接指出了这一点,但是 这个Github问题注释更有用。
我们的工作流程:
登录时(在共享扩展程序或主应用程序中),将用户ID保存到共享容器中,并使用用户ID作为密钥将用户名和密码保存到钥匙串中
在启动时(共享扩展名或主应用程序),检查共享容器中的用户ID。如果存在,则意味着用户已经登录了主应用程序或共享扩展名,因此应同时登录这两个应用程序。因此,请从“钥匙串”中检索凭证,然后使用signIn(withEmail:password:completion:)
我们的项目在一切就绪的时候。重复很多,很麻烦,但是可以。相关文件是
这是最令人沮丧的部分。错误代码的类型为OSStatus,并在“ 安全框架结果代码”中列出,但有时在测试时只会看到带符号的整数。我找不到官方列表,但是OSStatus.com可以省去很多麻烦。例如,这是所有安全框架代码的查询。
官方钥匙串文档的其他有用链接:
kSecValueData (那不是我期望的那样)| 归档时间: |
|
| 查看次数: |
906 次 |
| 最近记录: |