Aviso antigo do XCode
A partir deste ano, durante o processo de desenvolvimento do projeto principal de um componente do projeto, demora muito para rodar e compilar. XCode sempre vira crisântemo? O tempo médio de compilação é de cerca de 5 minutos cada vez, o que muito afeta a eficiência do desenvolvimento. Acabei de terminar o teste hoje. , reserve um tempo para ver mais de perto por que está tão travado.
- ambiente
chave | valor |
---|---|
Mac OS | 13.2.1 (22D68) |
Memória | 16 GB |
lasca | Maçã M1 |
armazenar | 512G |
Código X | 14.0.1 |
código do componente | 19 MB |
Abra o monitor de atividades quando ele estiver travado e descubra que o XCode ocupa uma memória muito alta, com uma média de cerca de 20 GB e um pico de 60 GB
Depois que Command + k exclui o cache em DerivedData, ainda não há resultado de aceleração óbvio.
procure o motivo
Ver log de compilação
Descobriu-se que todos os arquivos no componente terão vários avisos semelhantes ao compilar.
Esses avisos vêm do mesmo arquivo, referenciado por meio do arquivo pch.
O arquivo com warnings é o arquivo de requisição de rede do componente, que foi criado há muito tempo, NS_ASSUME_NONNULL_BEGIN
provavelmente existem centenas de warnings no arquivo que não são gerados automaticamente. Ao compilar arquivos, esses avisos serão armazenados em cache e analisados. Faz com que ele funcione muito lento.
resolver
Elimine o aviso, recompile e descubra que o projeto roda confortavelmente!
Se houver avisos de outras bibliotecas ou componentes de terceiros, você pode adicionar: ao podFile inhibit_warnings => true
para evitar a verificação de avisos durante a compilação. Essa abordagem também acelera a compilação.
pod 'XXNetEngineModule', :inhibit_warnings => true
复制代码
Pode-se ver que o tamanho da memória do XCode após a resolução é basicamente em torno de 1 GB. A velocidade de compilação pode atingir basicamente a segunda inicialização (dentro de 10s).