A compilação foi bem-sucedida, mas a inicialização do aplicativo falhou. O destino de implantação do iOS é 15.0. Executando em um dispositivo com iOS 17.0. O dialeto da linguagem C++ está definido como GNU++20.
Informações de erro
dyld[1669]: Symbol not found: ___cxa_current_primary_exception
Referenced from: <9DF2FEE8-CDED-3A0C-8FFE-8C9FF289257D> /private/var/containers/Bundle/Application/434A154D-E917-4263-901D-B6E06E28DEF1/myapp.app/myapp.debug.dylib
Expected in: <BADF6383-4494-32F2-97EF-716EA17420F6> /usr/lib/libc++.1.dylib
Symbol not found: ___cxa_current_primary_exception
Referenced from: <9DF2FEE8-CDED-3A0C-8FFE-8C9FF289257D> /private/var/containers/Bundle/Application/434A154D-E917-4263-901D-B6E06E28DEF1/myapp.app/myapp.debug.dylib
Expected in: <BADF6383-4494-32F2-97EF-716EA17420F6> /usr/lib/libc++.1.dylib
dyld config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/usr/lib/libLogRedirect.dylib:/usr/lib/libBacktraceRecording.dylib:/usr/lib/libMainThreadChecker.dylib:/usr/lib/libRPAC.dylib:/usr/lib/libViewDebuggerSupport.dylib
Message from debugger: Terminated due to signal 6
Aqui estão algumas soluções que tentei, mas nenhuma delas funcionou.
Cache de compilação corrompido/dados derivados (muito comum): arquivos obsoletos ou inconsistentes de compilações anteriores, especialmente após atualizações do Xcode, podem causar erros de vinculador.
Solução: Faça uma limpeza completa: No Xcode: Produto > Limpar Pasta de Compilação (ou Shift+Cmd+K). Importante: Exclua os Dados Derivados. Saia do Xcode. Acesse Xcode > Configurações (ou Preferências) > Locais. Clique na pequena seta ao lado do caminho "Dados Derivados" para abri-lo no Finder. Exclua toda a pasta Dados Derivados (ou pelo menos a subpasta correspondente ao seu projeto). Reinicie o Xcode e seu dispositivo iOS. Se estiver usando CocoaPods, navegue até o diretório do seu projeto no Terminal e execute pod install novamente após excluir os Dados Derivados. Tente compilar e executar novamente.
Configurações de compilação inconsistentes: incompatibilidades nas configurações de compilação entre seu projeto, o destino do aplicativo principal e o destino que produz yituart.debug.dylib (se for separado) são culpados frequentes.
Solução: Verifique a consistência de todos os alvos relevantes (Projeto, Destino do Aplicativo, alvo yituart.debug.dylib) e todas as configurações (Depuração/Lançamento): Destino de Implantação iOS: Certifique-se de que esteja consistentemente na versão 15.0 ou inferior em todos os lugares. Dialeto da Linguagem C++: Certifique-se de que esteja definido de forma idêntica para GNU++20 em todos os lugares. Qualquer incompatibilidade (por exemplo, um alvo usando C++14, outro
C++20) pode causar erros de vinculação. Biblioteca Padrão C++: Certifique-se de que esteja definida como libc++ em todos os lugares. Dialeto C++20 vs. Destino de Implantação: Usar um padrão mais recente como C++20 enquanto se destina a um sistema operacional mais antigo, como o iOS 15, pode, às vezes, levar a problemas de compilação/vinculação, mesmo que o sistema operacional em tempo de execução (iOS 17) o suporte bem. O processo de compilação pode criar links frágeis com base no SDK de destino mais antigo.
Solução (Etapa de Diagnóstico): Altere temporariamente o dialeto da linguagem C++ de GNU++20 para um padrão mais amplamente compatível, como GNU++17 ou GNU++14, em todos os destinos e configurações relevantes. Execute a limpeza completa novamente (Limpar Pasta de Compilação + Excluir Dados Derivados). Reconstrua e execute. Se o erro desaparecer, ele indica uma incompatibilidade relacionada ao uso de recursos do C++20 no iOS 15. Se o erro persistir, é menos provável que o próprio C++20 seja a causa direta.
Problemas de dependência (CocoaPods, etc.): problemas com a forma como bibliotecas de terceiros (Pods) são integradas ou construídas.
Solução: Certifique-se de que os Pods estejam instalados corretamente. Uma reinstalação limpa pode ajudar:
Feche o Xcode.
No Terminal (no diretório do projeto): pod deintegrate
rm Podfile.lock
rm -rf Pods/
rm -rf *.xcworkspace
pod install
Exclua os Dados Derivados novamente.
Reabra o arquivo .xcworkspace no Xcode e tente compilar.
Eu tive o mesmo problema, só consegui resolver removendo a flag -Objc do Other Linker Flags, que alguns pacotes cocoapods inserem por depender das libs .a, essa flag faz com que ele importe códigos não utilizados que causam esse erro, comigo o problema é com o Google Mobile Ads que insere essa flag, mas o curioso é que esse problema só acontece com aparelhos iOS que tem versões do iOS abaixo da 18.4, o iPhone 15 com 18.4 o problema não acontece, agora com todos os aparelhos com 18.3, 18.2 e até 15.2 o aplicativo não abre.
Agora, a pergunta de um milhão de dólares: o problema é com o Xcode ou com bibliotecas de terceiros que ainda dependem do sinalizador -Objc?
Por enquanto a única solução que encontrei foi:
Faça downgrade do XCode para 16.2