【发布时间】:2021-02-09 17:07:56
【问题描述】:
在我的应用程序中,用户可以使用Firebase 使用 Apple、Google、Facebook 和电子邮件登录。我还有一个Share Extension,我想从主应用程序中分享auth-state,这样我也可以在我的ShareExtension 中调用Auth.auth.currentUser,这样用户就可以访问Cloud-Firestore。
现在我知道 Firebase 提供了这个 documentation。但是我不确定第 2 步:
do {
try Auth.auth().useUserAccessGroup("TEAMID.com.example.group1")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
我应该在哪里调用它?
编辑:
主应用:
更新:
在signIn之前调用上面的代码时会抛出这个error:
更改用户访问组时出错:%@ Error Domain=FIRAuthErrorDomain Code=17995 “访问钥匙串时发生错误。@c NSError.userInfo 字典中的 @c NSLocalizedFailureReasonErrorKey 字段将包含有关遇到的错误的更多信息” UserInfo ={FIRAuthErrorUserInfoNameKey=ERROR_KEYCHAIN_ERROR, NSLocalizedFailureReason=SecItemCopyMatching (-34018), NSLocalizedDescription=访问钥匙串时出错。 @c NSError.userInfo 字典中的@c NSLocalizedFailureReasonErrorKey 字段将包含有关遇到的错误的更多信息}
【问题讨论】:
-
我猜在
didFinishLaunchingWithOptions内部(以及扩展中的类似方法)。紧接着FirebaseApp.configure() -
@DimaRostopira 试过了,但是当在我的
Share Extension中调用let userID = Auth.auth().currentUser!.uid时,它总是nil... -
确保您使用正确的组 ID 并为扩展启用了应用组
-
@DimaRostopira 正确的组 id 到底是什么意思?
标签: ios swift firebase firebase-authentication