이것은 나에게 이상한 문제입니다.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
내가 인증 할 때 의도 된대로 가끔 작동 및 작업 전체 기능을 통해 실행 않는다는 것입니다 언급 할 가치가 또 다른 한가지도 있습니다 내가 로딩시 자동으로 사용자를 인증 할 때의 로그입니다 자동 omatically. 내가의 AuthUser.userCheck 기능을 제거하려면 응용 프로그램을 다시 시작, 수동 입력 방법을 통해 로그인 한에서 함수를 다시 추가 한 후
그러나, 이것은 항상 오른쪽에만 발생합니다.
인증 것 같다 함수는 사용자가 로그인했음을 보여주고 있음에도 불구하고 항상 true가 아니므로 데이터베이스 쿼리가 작동하지 않습니다.
그러나 데이터베이스 읽기 및 쓰기 규칙을 true로 변경하여 인증없이 액세스를 허용했지만 실제로 가져 오기에도 불구하고 "가져 오기 ..."에서 멈추었습니다.
이 내용이 너무 혼란스럽지 않고 내 문제를 이해하기 위해 추가 정보가 필요한 경우 알려 주시기 바랍니다.
JSON 트리를 지정하십시오. 브레이킹 포인트를 사용하여 어떤 라인이 손상되었는지 찾아보십시오. – Dravidian