2014-12-30 10 views
8

Inoltre ho eseguito il Parse.enableLocalDatastore() in dispatch_async - ho ancora l'avviso.Parse.enableLocalDatastore() - Avviso: è in esecuzione un'operazione di lunga durata sul thread principale

Anche quando aggiungo un punto di interruzione simbolico warnParseOperationOnMainThread la dose non rompere

qui è il frammento di codice dall'applicazione delegato

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 
    } 

Richiesta

grato se qualcuno evidenziare a me, Cosa manca per evitare questo messaggio di avviso?

+0

stesso qui. credo che questo sia un bug. – alix

+0

forse provare priorità priorità? Questo avviso è dovuto a un codice in esecuzione sul thread principale quando non dovrebbe, e quindi al blocco dell'interfaccia utente. Se sei sicuro al 100% che accada qui e non da qualche altra parte, prova quello. Altrimenti non lo so, sembra tutto a posto. D'altra parte, Parse esplicitamente ha detto in una risposta che questi avvisi sono solo avvertimenti, e se la tua app funziona senza problemi comunque, puoi tranquillamente ignorarli. –

+0

Grazie per il tuo suggerimento, ho provato a cambiare la priorità in background e ha ancora lo stesso avviso. Per quanto riguarda il 100% di questa linea è la ragione per cui ho commentato e decommentato la riga per assicurarmi e anche io faccio una linea di stampa prima e dopo, inoltre aggiungo un punto di interruzione su quella linea, quindi sono sicuro che questa è la causa di questo avvertimento. ho letto per ignorare l'errore, tuttavia preferirei se posso evitarlo - sarà meglio. Grazie – gfekri

risposta

2

Si tratta di un bug e verrà risolto nella prossima release Parse SDK https://developers.facebook.com/bugs/1537241009878763/

+2

Il bug non è stato ancora risolto con Parse SDK 1.6.2. Ce l'ho ancora con 'Parse.enableLocalDatastore + Parse.setApplicationId + PFFacebookUtils.initializeFacebook' (o Twitter equivalente) – Kalzem

Problemi correlati