これは私にとっては奇妙な問題です。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
私が認証するとき、それが意図していたとして、それは時々仕事や作業全体の機能を介して実行ないということである言及する価値が他のものもあり、私はロード時に自動的にユーザーを認証しようとしたときのログですオート間違いなく
しかし、私は、AuthUser.userCheck機能を削除するには、アプリを再起動し、手動入力メソッド経由でログインし、後ろに機能を追加した後、これは常に右側のみ起こる。
をその認証のようです関数は、ユーザーがログインしていることを示しているにもかかわらず、常に真ではないため、データベースクエリは機能しませんでした。
しかし、データベースの読み書きルールをtrueに変更し、認証なしでアクセスできるようにしてテストしましたが、それでもやはり「インポート中です...」と表示されていました。
私はこれがあまりにも混乱しないことを望み、私の問題を理解するための追加情報が必要な場合はお知らせください。
JSONツリーを指定します。ブレークポイントを使用して、どのラインがブレークしているかを調べてください。 – Dravidian