2014-12-30 7 views
8

Auch ich habe die Parse.enableLocalDatastore() in dispatch_async ausgeführt - ich habe immer noch die Warnung.Parse.enableLocalDatastore() - Warnung: Eine lang andauernde Operation wird auf dem Hauptthread ausgeführt

Selbst wenn ich einen symbolischen Haltepunkt auf warnParseOperationOnMainThread hinzufügen dosen't brechen

hier ist der Code Snippet vom AppDelegate

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // Override point for customization after application launch. 

     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { 
      Parse.enableLocalDatastore() 

      Parse.setApplicationId("XXX", clientKey: "YYY") 
      PFAnalytics.trackAppOpenedWithLaunchOptionsInBackground(launchOptions, block: nil) 

      var defaultACL = PFACL() 
      defaultACL.setPublicReadAccess(true) 
      defaultACL.setPublicWriteAccess(false) 
      PFACL.setDefaultACL(defaultACL, withAccessForCurrentUser:true) 

      CAUser.registerSubclass() 

      NSLog("App finish loading") 

      dispatch_async(dispatch_get_main_queue()){ 
       () -> Void in 
       // any UI updates need to happen in here back on the main thread 
      } 
     } 

     return true 
    } 

Anfrage

freuen, wenn mir jemand markieren, Was fehlt, um diese Warnmeldung zu vermeiden?

+0

auch hier in der nächsten Parse SDK Version behoben werden. Ich glaube, das ist ein Fehler. – alix

+0

vielleicht Prioritätshintergrund versuchen? Diese Warnung ist darauf zurückzuführen, dass Code auf dem Hauptthread ausgeführt wird, wenn dies nicht der Fall ist, und daher die Benutzeroberfläche blockieren. Wenn du 100% sicher bist, dass es hier passiert und nicht woanders, versuche es. Ansonsten weiß ich nicht, es sieht alles gut aus. Auf der anderen Seite sagte Parse Explicity in einer Antwort irgendwo, dass diese Warnungen nur Warnungen sind, und wenn Ihre App trotzdem reibungslos läuft, können Sie sie ignorieren. –

+0

Vielen Dank für Ihre Anregung, ich habe versucht, die Priorität auf Hintergrund zu ändern und es gibt immer noch die gleiche Warnung. Um sicherzustellen, dass 100% diese Zeile ist der Grund, ja, ich habe Kommentar und Kommentar die Zeile, um sicherzustellen, und auch ich eine Druckzeile kurz vor und nach, auch ich einen Haltepunkt in dieser Zeile, So bin ich mir sicher dass dies der Grund für diese Warnung ist. Ich lese über den Fehler zu ignorieren, aber ich würde es vorziehen, wenn ich es vermeiden kann - es wird besser sein. Danke – gfekri

Antwort

Verwandte Themen