当segue之后没有用户登录Firebase时,应用程序因内存问题而终止

时间:2017-04-18 01:28:58

标签: ios swift login firebase-authentication nsurlconnection

当我检查是否有用户登录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设置,它会挂起并终止。

对此感到困惑了几天,非常感谢任何帮助。

0 个答案:

没有答案