Ios Swift登录用户,访问组不工作
在我的应用程序中,我想使用Ios Swift登录用户,访问组不工作,ios,swift,firebase,firebase-authentication,Ios,Swift,Firebase,Firebase Authentication,在我的应用程序中,我想使用Auth.Auth().useUserAccessGroup登录用户 这是我使用电子邮件登录的代码(用户也可以使用Facebook、Google和Apple登录): 注册功能: static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){ do {
Auth.Auth().useUserAccessGroup
登录用户
这是我使用电子邮件登录的代码(用户也可以使用Facebook、Google和Apple登录):
注册功能:
static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){
do {
try Auth.auth().useUserAccessGroup("SN26HDFT24.com.wishlists-app.group")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if let error = error {
Utilities.showErrorPopUp(labelContent: "Fehler", description: error.localizedDescription)
finished(false)
}
if let userId = result?.user.uid {
// successfully signed in
} else {
print("user couldn't sign in")
finished(false)
}
}
}
钥匙链共享:
static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){
do {
try Auth.auth().useUserAccessGroup("SN26HDFT24.com.wishlists-app.group")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if let error = error {
Utilities.showErrorPopUp(labelContent: "Fehler", description: error.localizedDescription)
finished(false)
}
if let userId = result?.user.uid {
// successfully signed in
} else {
print("user couldn't sign in")
finished(false)
}
}
}
问题:
static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){
do {
try Auth.auth().useUserAccessGroup("SN26HDFT24.com.wishlists-app.group")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if let error = error {
Utilities.showErrorPopUp(labelContent: "Fehler", description: error.localizedDescription)
finished(false)
}
if let userId = result?.user.uid {
// successfully signed in
} else {
print("user couldn't sign in")
finished(false)
}
}
}
调用此函数时如果let error=error
则失败:
@c NSError.userInfo字典中的@c NSLocalizedFailureReasonErrorKey字段将包含有关遇到的错误的详细信息“userInfo={FIRAuthErrorUserInfoNameKey=error\u KEYCHAIN\u error,NSLocalizedFailureReason=SecItemCopyMatching(-34018),NSLocalizedDescription=访问密钥链时出错。@c NSError.userInfo字典中的@c NSLocalizedFailureReasonErrorKey字段将包含有关遇到错误的详细信息}
因此,我第一次调用它时,尝试Auth.Auth().useUserAccessGroup(“SN26HDFT24.com.wishlists app.group”)
实际上成功了,至少它没有抛出任何东西
但是当再次调用它时,dotry块
失败。错误消息与上面相同
权利:
static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){
do {
try Auth.auth().useUserAccessGroup("SN26HDFT24.com.wishlists-app.group")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if let error = error {
Utilities.showErrorPopUp(labelContent: "Fehler", description: error.localizedDescription)
finished(false)
}
if let userId = result?.user.uid {
// successfully signed in
} else {
print("user couldn't sign in")
finished(false)
}
}
}
功能:
static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){
do {
try Auth.auth().useUserAccessGroup("SN26HDFT24.com.wishlists-app.group")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if let error = error {
Utilities.showErrorPopUp(labelContent: "Fehler", description: error.localizedDescription)
finished(false)
}
if let userId = result?.user.uid {
// successfully signed in
} else {
print("user couldn't sign in")
finished(false)
}
}
}
我被卡住了,在这上面找不到任何东西
这是我的共享扩展名:
static func signUpWithEmail(email: String, password: String, username: String, finished: @escaping (_ done: Bool) -> Void){
do {
try Auth.auth().useUserAccessGroup("SN26HDFT24.com.wishlists-app.group")
} catch let error as NSError {
print("Error changing user access group: %@", error)
}
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if let error = error {
Utilities.showErrorPopUp(labelContent: "Fehler", description: error.localizedDescription)
finished(false)
}
if let userId = result?.user.uid {
// successfully signed in
} else {
print("user couldn't sign in")
finished(false)
}
}
}
我不知道这是怎么发生的,但是访问组的字符串在您的权限中是错误的 它应该是
$(AppIdentifierPrefix)com.wishlists app.group
,而不是$(AppIdentifierPrefix)SN26HDFT24.com.wishlists app.group
您的扩展必须激活相同的应用程序组和密钥链组。我看不到您的应用程序扩展的任何内容。然后您还必须在扩展中调用
useUserAccessGroup(“SN26HDFT24.com.wishlists app.group”)
。初始化firebase应用程序(FirebaseApp.configure()
)。@cybergen也尝试过,你确定吗?我想我必须使用前面的团队id才能访问钥匙链。我非常确定。我查看了我们的(愿望列表;-))尽管如此,我们的共享扩展仍存在问题。当在主应用中注销并再次登录时,扩展将保持注销状态,直到调用共享扩展的应用(如Amazon或Safari)被终止并重新启动。$(AppIdentifierPrefix)应该是你的团队id。哦,是你哈哈:D好的,我会试试!为什么我在我的数据库中看不到你那边的任何登录?是我?我可能不是你特定应用的用户。