Так я строй этого приложения в стриже, который имеет данные, которые должны быть прочитаны перед входом пользователя вSwift:. Firebase разрешения на чтение отказано
Чтобы обезопасить его от чтения из из моего приложения, я мириться основное правило безопасности:
".read": "auth != null"
чтобы предотвратить чтения перед входом, я поставить контроллер вида нагрузки во время вызова:
func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
let ref = Firebase(url: "<my firebase url>")
ref.observeAuthEventWithBlock({ authData in
if authData != nil {
segueToListViewController()
}
})
return true
}
Но когда я добираюсь до такой точки, иногда firebase дает мне «разрешениеотрицал "ошибку, иногда это не так.
Я уверен, что есть вошедший пользователь, потому что я все регистрации:
- Войти изменен
- Пользователь вошел в AuthData Facebook:
- applicationDidBecomeActive
- Loaded ListViewController
- Загрузка Данные
- Ошибка: Ошибка домена = com.firebase Код = 1 «Отказано в разрешении»
Так почему же Firebase иногда отказывает в чтении, когда пользователь вошел в систему?
Что нить вы о том, когда блок пробегов? Вы можете установить точку останова или использовать 'NSThread.isMainThread()' – BaseZen
Я пробовал это, попробовал обернуть вызов блока в 'dispatch_async (dispatch_get_main_queue(), {})' и попытался очистить всех возможных слушателей, которые существовали в этой точке без успех. Кажется, что-то в памяти разрушает его. –