2016-04-16 10 views
2

Wie kann meine Anwendung warten, bis mein Anruf API beendet ist?Wie kann meine "didFinishLaunchingWithOptions" warten, bis call api beendet

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

    GMSServices.provideAPIKey("AIzadGlsfR35k4BeHCXmRq3GDSQ-l_5gcD8") 
    FlicAuth.sharedInstance 

    //Call Api here 

    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)) 
    application.registerForRemoteNotifications() 

    if(launchOptions?[UIApplicationLaunchOptionsLocationKey] != nil){ 
     LocationService.sharedInstance.startMonitoringLocation() 
    } 

    return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 
} 

den Dank im Voraus

+0

Können wir fragen, warum würdest du das machen wollen? – Gruntcakes

+0

Sie wollen nicht warten. Wenn es zu lange dauert, wird iOS Ihre App für zu lange zum Starten bringen. – rmaddy

+0

Ich möchte meinen ersten Bildschirm abhängig von den Daten ändern, die ich von der API-Anruf erhalten –

Antwort

4

Es ist sehr falsch, aber für Ihr Problem habe ich eine bessere Lösung.

eine Viewcontroller erstellen genau gleiche wie Ihre Splash-Screen und eingestellt als Anfangsviewcontroller .. führen Sie Ihre Operation in dieser Klasse Viewcontroller und nach Api Erfolg können Sie Ihren tatsächlichen Bildschirm navigieren oder die programmatisch root ändern

+0

Danke, das ist die beste Lösung –

Verwandte Themen