2016-06-08 3 views
1

새로운 Firebase로 업그레이드 한 후 응용 프로그램이 느린 인터넷 연결로 시작하지 않습니다. 그것이 좋은 연결을 가지고있을 때 그리고 전혀 연결이 없을 때도 마찬가지입니다. 나는 내가 설정을 잘못했다면 전혀 작동하지 않을 것이므로 모든 것을 올바르게 설정했다고 생각합니다.iOS Firebase가있는 응용 프로그램이 느린 인터넷 연결로 시작되지 않음

import UIKit 
import Firebase 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 

    func application(application: UIApplication, didFinishLaunchingWithOptionslaunchOptions: [NSObject: AnyObject]?) -> Bool { 

     UITabBar.appearance().tintColor = UIColor.redColor() 

     FIRApp.configure() 
     FIRDatabase.database().persistenceEnabled = true 

     return true 
    } 

} 
+0

"시작하지 않음"이란 무엇을 의미합니까? 어떤 오류 메시지가 나타 납니까? 또한 시간 프로필러 도구를 실행했거나 정지가 진행되는 동안 정지 사진을 찍은 적이 있습니까? –

+0

느린 인터넷 연결로 시작하면 응용 프로그램이 중단되지만 컴퓨터에 연결하면 응용 프로그램이 중단된다는 것을 의미합니다. 따라서 나는 심지어 오류 메시지를받지 않습니다. 타이머 프로파일 러 도구를 사용하지 않은 이유는 아직 어떻게 작동하는지 모르기 때문입니다. –

+0

앱이 충돌하는 경우 오류 메시지와 함께 기기에 오류 로그가 있습니다. 당신은 또한 네트워크 링크 컨디셔너 –

답변

2

아이폰 OS는 특정 시간 창에서 시작하지 모든 응용 프로그램을 종료합니다 감시라는 메커니즘을 포함

여기 내 AppDelegate에 코드입니다. application(_:didFinishLaunchingWithOptions:)에서 차단 작업을 수행하면 앱이 너무 오래 걸리면 앱이 종료 될 수 있습니다. 이러한 작업을 비동기 적으로 수행하는 것을 고려해야합니다.

코드에 중단 점이나 인쇄 문을 넣으면 어떤 줄이 너무 오래 걸리는지 확인할 수 있습니다.

+0

을 사용하여 컴퓨터에서 느린 인터넷을 시뮬레이트 할 수 있습니다. 그러나 나는 길게 응용 프로그램 (_ : didFinishLaunchingWithOptions :)을 사용하는 방법이 필요합니다. 응용 프로그램은 달리 작동하지 않습니다. 어떻게하면이 방법을 수행 할 수 있습니까? –

+0

당신은 그 메소드 호출을'application (_ : didFinishLaunchingWithOptions :)'에 넣을 필요가 없습니다. 당신은 언제든지 나중에 나중에 연기 할 수 있습니다. 지연된 작업이 끝날 때까지 (즉, 로딩 UI를 표시하는 등) 앱에서 설정 한 내용을 사용하여 연기해야합니다. 그 방법들이 왜 오랜 시간이 걸리는지 추측하기는 어렵지만, 그것은 어쨌든 다른 질문입니다. –