Crash en dispatch_once (& onceToken, ^ {

+(Service *) shanetworkingInstance { static LocationService *instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ <<<< Crash instance = [[self alloc]init]; }); return instance; } 

Estoy usando el código que se muestra arriba para crear una instancia de service singleton en mi aplicación. Esto se llama desde la "aplicación AppDelegate: willFinishLaunchingWithOptions:".

Para la mayoría de los usuarios, este código funciona bien. Pero para 2 usuarios, la aplicación se bloquea en "dispatch_once (& onceToken, ^ {" line.

Eliminaron la aplicación y la volvieron a instalar. Pero aún ven el problema. Solo estos 2 usuarios se enfrentan a este problema. Otros nunca la han visto. Tengo el .dsym, .crash y otros files relevantes para depurar más. ¿Solo quería saber cómo debo proceder? Si alguien ha visto un problema similar, ¿cómo procedieron a solucionarlo?

No te uses. Porque el yo no está disponible antes de la iniciación de la class. En su lugar, puede usar el nombre de class de la siguiente manera.

 +(Service *) shanetworkingInstance { static LocationService *instance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ instance = [[Service alloc]init]; }); return instance; }