Pergunta

Recentemente converti meu projeto iOS para ARC.Agora, quando tento arquivar meu aplicativo, o processo trava quando/depois de compilar o último arquivo de origem.No Activity Monitor, dois processos clang estão quase em 100% da CPU e não consigo nem desligar o Xcode.Se eu definir o nível de otimização de código como Nenhum, tudo funcionará bem (o que obviamente não é uma solução final).

Alguma sugestão de como resolver isso?

Foi útil?

Solução

Acontece que era um círculo de retenção em um bloco de animação no ARC.Usando weakSelf fez o truque.

__weak __typeof(self) weakSelf = self;
[UIView animateWithDuration:0.3f
                      delay:0.5f
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^{
                     __typeof(weakSelf) strongSelf = weakSelf;
                     [strongSelf doStuff];
                     // ...
                 }
                 completion:^(BOOL finished){
                     // ...
                 }];

Eu descobri isso arquivando o projeto via linha de comando no modo verbos.Ele ficou preso em um controlador de visualização que continha o círculo de retenção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top