solucion sirve significa que por para desactivar comprobar bloqueo bloqueado activación activacion iphone ios9 xcode7-beta4

sirve - iphone bloqueado por icloud solucion



Esta aplicación está modificando el motor de reproducción automática desde un subproceso en segundo plano, lo que puede provocar daños en el motor y bloqueos extraños. (6)

Debería probar Symbolic Breakpoint para detectar el problema: -

Símbolo:

[UIView layoutIfNeeded]`

Condición:

!(BOOL)[NSThread isMainThread]

Luego ponga su código de actualización de UI en el hilo principal

DispatchQueue.main.async {}

Recibo este registro en la consola cuando ejecuto mi aplicación en simulador. No he visto esto en iOS 8. No estoy muy seguro de qué está causando esto. ¿Alguien más se ha encontrado con el mismo problema y, de ser así, cómo se solucionó? ¿O hay alguna ayuda que alguien pueda proporcionar con respecto a esto?


El mismo problema ocurre en mi caso, tengo que cambiar el código de la siguiente manera y luego funciona bien. En ViewDidLoad , llame a este método utilizando el main thread ,

[self performSelectorOnMainThread:@selector(setUpTableRows) withObject:nil waitUntilDone:YES];


No cambie la IU de otra cosa que no sea el hilo principal. Si bien puede parecer que funciona en algunos sistemas operativos o dispositivos y no en otros, es probable que haga que su aplicación sea inestable y se bloquee de forma impredecible.

Si debe responder a una notificación, que puede suceder en segundo plano, asegúrese de que la invocación de UIKit se realice en el hilo principal .

Al menos tienes estas 2 opciones:

Despacho asincrónico

Use GCD (Grand Central Dispatch) si su observador puede ser notificado en cualquier hilo. Puede escuchar y trabajar desde cualquier subproceso, y encapsular los cambios de la interfaz de usuario en un dispatch_async :

dispatch_async(dispatch_get_main_queue()) { // Do UI stuff here }

¿Cuándo usar GCD ? Cuando no controlas quién envía la notificación. Puede ser el sistema operativo, un Cocoapod, bibliotecas integradas, etc. El uso de GCD activará en cualquier momento, siempre. Desventaja: te encuentras reprogramando el trabajo.

Escuchar en hilo principal

Convenientemente, puede especificar en qué hilo desea que se notifique al observador, en el momento en que se registra para recibir notificaciones, utilizando el parámetro de queue :

addObserverForName:@"notification" object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note){ // Do UI stuff here }

¿Cuándo observar en el hilo principal ? Cuando se está registrando y registrado. Pero cuando responda a la notificación, ya estará donde debe estar.

Notificación posterior en el hilo principal

[self performSelectorOnMainThread:@selector(postNotification:) withObject:notification waitUntilDone:NO];

Solución híbrida que no garantiza que el observador solo sea invocado desde dicho método. Permite un observador más ligero, a un costo de diseño menos robusto. Solo se menciona aquí como una solución que probablemente debería evitar .


Swift 3.0

DispatchQueue.main.async { }


Tiene un código que actualiza el diseño de la interfaz de usuario desde un hilo de fondo. Cambiar la cola de operación en la que ejecuta su código no necesita ser explícito. Por ejemplo, NSURLSession.shared () no usa la cola principal cuando realiza nuevas solicitudes. Para asegurar que su código se ejecute en el hilo principal, estoy usando el método estático de NSOperationQueue mainQueue ().

Rápido:

NSOperationQueue.mainQueue().addOperationWithBlock(){ //Do UI stuff here }

Obj-C:

[NSOperationQueue mainQueue] addOperationWithBlock:^{ //Do UI stuff here }];


Toda la actualización de la parte de la interfaz de usuario que necesita para pasar al hilo PRINCIPAL de la aplicación.

Estaba llamando a createMenuView () en segundo plano y obtuve el siguiente error

"Esta aplicación está modificando el motor de reproducción automática desde un subproceso en segundo plano, lo que puede provocar daños en el motor y bloqueos extraños"

Entonces llamé al método anterior en el hilo principal usando

DispatchQueue.main.async { }

en SWIFT 3.0 y Xcode 8.0

Código correcto escrito a continuación:

RequestAPI.post(postString: postString, url: "https://www.someurl.com") { (succeeded: Bool, msg: String, responceData:AnyObject) -> () in if(succeeded) { print(items: "User logged in. Registration is done.") // Move to the UI thread DispatchQueue.main.async (execute: { () -> Void in //Set User''s logged in Util.set_IsUserLoggedIn(state: true) Util.set_UserData(userData: responceData) self.appDelegate.createMenuView() }) } else { // Move to the UI thread DispatchQueue.main.async (execute: { () -> Void in let alertcontroller = UIAlertController(title: JJS_MESSAGE, message: msg, preferredStyle: UIAlertControllerStyle.alert) alertcontroller.title = "No Internet" alertcontroller.message = FAILURE_MESSAGE self.present(alertcontroller, animated: true, completion: nil) }) } }