当我检查是否有用户登录Firebase时,会发生错误。如果没有用户并且我尝试执行segue或过多的UI工作,应用程序会挂起,片刻之后终止它:
Message from debugger: Terminated due to memory issue
偶尔它会给我一个这样的人:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
我知道Info.plist中的ATS设置,这就是我的样子
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>firebaseio.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
奇怪的是,当我尝试使用UI做一些事情时,我只会得到错误 - 比如添加一些子视图或执行segues。这让我觉得这可能是一个线程问题或与ATS无关的东西。
这是我在viewDidLoad()
中检查用户的位置if let user = FIRAuth.auth()?.currentUser {
print("user logged in")
// everything's peachy
} else {
print("no user logged in")
self.performSegue(withIdentifier: "loginSegue", sender: self)
// prints "no user logged in"
// hangs and terminates if i try to perform a segue or add subviews
}
segue是成功的,因为它到达目标VC的viewDidLoad(),但是如果我尝试进行任何UI设置,它会挂起并终止。
对此感到困惑了几天,非常感谢任何帮助。