Atualize interfaces no simulador em tempo real (sem SwiftUI)
Interfaces no simulador: descubra uma técnica avançada para alterar a aparência do seu app iOS em tempo real, sem recompilar e aproveitando ao máximo o…

Descubra uma técnica avançada para alterar a aparência do seu app iOS em tempo real, sem recompilar e aproveitando ao máximo o poder do LLDB, ideal para quem ainda trabalha com UIKit.
Interfaces no simulador
No desenvolvimento iOS↳iOS38 conteúdosO X do Xamarin Forms – O guia das funcionalidades nativas – Parte 01: iOSDev (Back & Front) · abr 2019Desenvolvedores: Apple libera terceiro beta do iOS 12.4Dev (Back & Front) · mai 201910 bibliotecas que todo desenvolvedor iOS deve substituir ainda em 2024Dev (Back & Front) · out 2024Ver tudo em Dev (Back & Front) →, especialmente ao trabalhar com projetos baseados em UIKit, há momentos em que precisamos fazer pequenos ajustes na interface durante a depuração, sem reiniciar o simulador ou o aplicativo. Isso pode ser feito facilmente usando o LLDB, uma poderosa ferramenta de depuração do Xcode.
Neste guia, vou mostrar como você pode atualizar a cor de fundo (backgroundColor) de uma UIView em tempo de execução, usando LLDB e a main thread. Essa técnica é especialmente útil para projetos que ainda não migraram para o SwiftUI, onde a visualização e o layout dinâmicos são muito mais fáceis de gerenciar.
O Problema das interfaces no simulador
Mudar a interface de um aplicativo durante o desenvolvimento geralmente requer recompilar ou reiniciar o simulador, o que pode ser demorado. O LLDB permite que façamos essas alterações diretamente no simulador, facilitando a interação durante o desenvolvimento de interfaces com UIKit.
2. Configurando um Breakpoint
- Execute o projeto no simulador.
- Defina um breakpoint na linha onde a cor de fundo é definida (
view.backgroundColor = UIColor.green).
O Xcode irá pausar a execução do aplicativo assim que o breakpoint for atingido.
3. Usando o LLDB
Com o simulador pausado no breakpoint, podemos agora usar o LLDB para mudar a cor de fundo da view diretamente, sem precisar reiniciar o simulador. O truque aqui é lembrar que qualquer atualização na interface precisa ocorrer na main thread. No console do LLDB, execute o seguinte comando:
Aqui, estamos garantindo que a alteração ocorra na thread principal, usando DispatchQueue.main.async. Isso evita problemas comuns com manipulação da interface em threads de background.
4. Retomando a Execução
Após rodar o comando acima no LLDB, a cor de fundo da UIView no simulador mudará imediatamente para azul. Você pode agora continuar a execução do aplicativo pressionando o botão “Continue” no Xcode ou executando o comando:
Isso lhe permite iterar rapidamente sobre mudanças na UI, testando diferentes cores ou propriedades visuais sem a necessidade de recompilar ou reiniciar o aplicativo.
Dicas Extras
- Esse método pode ser usado para alterar qualquer propriedade de UI dinamicamente, como o texto de um
UILabelou a imagem de umUIImageView. - Embora o LLDB seja uma ferramenta poderosa, lembre-se de que alterações feitas desta forma são temporárias e não persistem após a reinicialização do aplicativo.
Conclusão
Este guia mostra como o LLDB pode ser uma ferramenta extremamente útil para desenvolvedores que trabalham com UIKit e precisam depurar ou alterar elementos de interface em tempo de execução. Com essa técnica, é possível iterar rapidamente durante o processo de desenvolvimento, economizando tempo e aumentando a produtividade.
Artigo original:https://bit.ly/H2-Medium-202410










