Это странная проблема для меня.Firebase: Пользователь аутентифицирован, но запрос базы данных не инициируется
В принципе, я создаю приложение, которое после входа и аутентификации пользователя выведет страницу для загрузки данных из базы данных Firebase и сохранения в область.
Все работает нормально, пока я не попытался аутентифицировать пользователя без входа в систему (чтобы проверить, не вошли ли они в систему, чтобы автоматически вызвать контроллер просмотра домашней страницы).
Это мой код аутентификации
import Foundation
import FirebaseAuth
class AuthUser {
func userCheck(completion:(message:String)->()){
var message = ""
let user = FIRAuth.auth()?.currentUser
if (user != nil) {
print("User is already logged in")
message = "LoggedIn"
} else {
print("User is not logged in")
message = "notLoggedIn"
}
completion(message: message)
}
}
и это мой код импорта данных
import Foundation
import FirebaseDatabase
import FirebaseAuth
import RealmSwift
class MenuDataRealm {
func importData(completion: (message:String)->()){
print("Initiating Menu Data Import...")
// Realm
let realm = try! Realm()
print("Importing...")
let ref = FIRDatabase.database().reference()
ref.child("Category").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
print("Start Menu Data Retrieval")
....
Проблема заключается в том, что после входа, журнал остановки печати после «Импорт ...» и остановить там. Если я вошел в обычном режиме (вместо аутентификации пользователя автоматически), он будет работать по всей функции отлично и не останавливается на «Импорт ...»
это логарифм нормального входа
2016-08-25 01:25:05.481 MannaCatering[33636:480265] Configuring the default app.
2016-08-25 01:25:05.502 MannaCatering[33636:] <FIRAnalytics/INFO> Firebase Analytics v.3200000 started
2016-08-25 01:25:05.503 MannaCatering[33636:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: - FIRAnalyticsDebugEnabled
2016-08-25 01:25:05.507: <FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2016-08-25 01:25:05.515 MannaCatering[33636:] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2016-08-25 01:25:05.569 MannaCatering[33636:480305] Version 1.0.2 of Realm is now available: https://github.com/realm/realm-cocoa/blob/v1.0.2/CHANGELOG.md
User is already logged in
2016-08-25 01:25:05.817 MannaCatering[33636:] <FIRAnalytics/INFO> Firebase Analytics enabled
Logging In... with Email:[email protected] and Password:********
User is now Logged In
Redirecting to Loading Data...
Initiating Menu Data Import...
Importing...
Start Menu Data Retrieval
Completed Menu Data Import
Accessing Firebase
Retrieving Details
User Details Retrieved
Redirecting to Gallery
Это журнал, когда я пытаюсь для автоматической проверки подлинности пользователя при загрузке
2016-08-25 01:34:53.080 MannaCatering[33972:485449] Configuring the default app.
2016-08-25 01:34:53.108 MannaCatering[33972:] <FIRAnalytics/INFO> Firebase Analytics v.3200000 started
2016-08-25 01:34:53.109 MannaCatering[33972:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
2016-08-25 01:34:53.111: <FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2016-08-25 01:34:53.159 MannaCatering[33972:] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2016-08-25 01:34:53.166 MannaCatering[33972:485629] Version 1.0.2 of Realm is now available: https://github.com/realm/realm-cocoa/blob/v1.0.2/CHANGELOG.md
User is already logged in
Redirecting to Loading Data...
Initiating Menu Data Import...
Importing...
2016-08-25 01:34:53.613 MannaCatering[33972:] <FIRAnalytics/INFO> Firebase Analytics enabled
Существует еще одна вещь, которую стоит отметить, что, что он работает иногда и запустить через всю функцию рабочего, как было задумано, когда я аутентифицировать Aut omatically.
Однако, это всегда только произойдет сразу после того, как я удаляю функцию AuthUser.userCheck, перезапустить приложение, войдите в систему с помощью метода ручного ввода, и добавить функцию обратно.
Казалось бы, что AUTH несмотря на то, что пользователь вошел в систему, не всегда верен и, следовательно, запрос базы данных не работает.
Тем не менее, я проверил это, изменив правила чтения и записи базы данных на true, разрешив доступ без аутентификации, но он все еще оставался при «Импортировании ...», несмотря на это.
Надеюсь, это не слишком смущает и сообщит мне, нужна ли вам дополнительная информация для понимания моей проблемы.
Отдайте свое дерево JSON .. Попробуйте использовать точки разломов, чтобы найти, на какой линии он ломался. – Dravidian