Estou aprendendo swift com o livro “Swift: Programe para iPhone e iPad”, depois que alterei os diretórios conforme é solicitado no capítulo 4, minha aplicação não roda mais e aparece a seguinte mensagem de erro Thread 1: signal SIGABRT. Alguém poderia me ajudar?
Estou a ter o mesmo problema que tu e pela data, estou a ver que ninguém vai ajudar
Bom dia!
Ao mover arquivos no sistema operacional, o Xcode não detecta a mudança
automaticamente e sinaliza isso pra nós. Se moveu o arquivo, o próximo
passo é na ide primeiro remover o arquivo da posição antiga. Clique da
direita nele e escolha para remover (ele já deve antes mesmo estar vermelho
ou marcado para remocao).
Após ter removido ele você pode puxar o novo do sistema operacional para o
projeto.
Após ter feito isso você deve conferir que o interface builder continua com
as conexões corretas. Para fazer isso abra o storyboard ou similar. Clique
no view controller cujo arquivo você moveu. Escolhe inspetor de atributos
na barra da direita e lá em cima, o primeiro campo será da classe que a
representa. Limpe o campo e comece a digitar novamente o nome da classe que
a representa. Ele deve fazer o auto preenchimento a medida que digita,
pressione enter. Confira que a classe está conectada com ele indo para o
modo de edição de duas partes, onde a direita eh automaticamente o código
relacionado ao view controller. Se a conexão ficou correta, ele mostrará o
arquivo certo.
Se algo der errado envie screenshots do erro e dos arquivos no canto
esquerdo do Xcode assim podemos ver melhor o que acontece? O tipo de erro
mencionado pode ser literalmente qq coisa em tempo de execução, mas como
citou o momento demover arquivos imagino que seja o erro que citei acima.
Abraço
Boa noite,
antes de mais obrigado pela disponibilidade!
“Ao mover arquivos no sistema operacional, o Xcode não detecta a mudança
automaticamente e sinaliza isso pra nós. Se moveu o arquivo, o próximo
passo é na ide primeiro remover o arquivo da posição antiga. Clique da
direita nele e escolha para remover (ele já deve antes mesmo estar vermelho
ou marcado para remocao).
Após ter removido ele você pode puxar o novo do sistema operacional para o
projeto.”
Até aqui tudo bem, repito o processo para o viewcontroller.swift e para o Main.storyboard . Os problemas que estou a ter são:
-
quando clico no assistant editor dá-me a entender que o Main.storyboard não reconhece o viewcontroller.swift ou vice-versa
-
tenho 2 avisos em relação a estes 2 ficheiros a indicar que estão em falta “/Users/me/Desktop/Casa/Casa/ViewController.swift: warning: Missing file: /Users/me/Desktop/Casa/Casa/ViewController.swift is missing from working copy”
-
No menu do projecto > General > Deployment info > Main Interface >>> o Main.storyboard não aparece.
-
NOTA: se selecionar as pastas do Xcode (views, view controller) e eliminar (opção referências)
Se necessário posso fazer um vídeo a mostrar o processo, posso estar a fazer alguma coisa mal, não sei…
Mais uma vez obrigado pela rápida disponibilidade!
Abraço!!
Boa tarde, fiz um pequeno video com o meu problema.
Bom dia João, duas sugestões:
- ao adicionar o folder, tente escolher a opção “add as groups”
- ao verificar se está conectado com a classe, o xcode tem um bug que
mostra o nome mesmo não estando conectado, como não dá para saber, tem que
redigitar e usar o auto complete para ter certeza que está conectado - faça somente a primeira mudança, teste, confira que funciona, faça a
segunda, teste confira que funciona (essa é boa em geral, para isolar o
problema que está tendo)
Pode confirmar se funciona?
[]
Boa noite Guilherme,
Não sei se fiz bem o que disseste (compreendi correctamente), de qualquer maneira eis aqui os passos que executei:
- com um novo projecto, primeiro passei o ficheiro “viewController.swift” para a pasta “viewcontrollers”
- eliminei o ficheiro que ficou a vermelho no project navigator e enviei a pasta “viewcontrollers” para o Xcode com a opção “add as groups”
- abri o Main.storyboard e selecionei a tab Identity Inspector, apaguei o nome “ViewController” e voltei a escrever (não existe auto complete) e se clicar na seta não acontece nada.
Caso o que mencionei anteriormente foi o que tinhas dito para fazer, a resposta à tua pergunta é não. Mas como também já disso logo no início, posso não ter compreendido o que disseste, até porque ainda não tenho muito à vontade com todos os conceitos e práticas ao nível da linguagem como da utilização do IDE.
Observação: Se fizer do método que disseste não fico com pastas azuis como no livro, ou seja, pastas referenciadas.
Entretanto através de muita pesquisa na internet e várias tentativas falhadas, consegui quase resolver o problema, ou seja, conseguir colocar o ficheiro “viewController.swift” com referência à pasta “viewcontrollers” (pasta azul no Xcode) conectar-se com Main.storyboard, estando apenas com problemas ao nível do ficheiro “Main.storyboard”, que deixa de ser “reconhecido”. Ver tópico >> Swift - Dúvida (referência directorias).
Abraço!
Bom dia João,
Era assim mesmo a ser feito. Uma outra maneira a fazer (qualquer um dos
dois arquivos) é:
- mover o arquivo no sistema operacional
- ele vai ficar indicado com vermelho, clique da direita, escolha “Get
Info”, escolha “Choose” para indicar onde está o arquivo, ai você pode
indicar para onde moveu o arquivo.
Pode tentar esse caminho?
[]
Bom dia Guilherme,
Infelizmente a opção que indicaste não existe, ou pelo menos não a encontrei.
Deixo aqui uma sugestão, que é a de disponibilizares um pequeno vídeo como o que eu fiz com as etapas necessárias para replicar o que está no livro. Julgo que desta maneira, seja mais produtivo para ambos.
Abraço
Bom dia João, devemos atualizar o livro em breve e testaremos algumas
variações dessa caso para verificar o que acontece então!
obrigado, []
Fico então a aguardar…
Bom dia João,
Desculpe, não fui claro em minha mensagem anterior. Todo erro encontrado no
livro deve ser corrigido, portanto o livro deve ser atualizado assim que
encontrarmos um erro aqui.
Seguindo sua sugestão, sobre a gravação, gravei hoje em uma máquina zerada
para ter certeza que não era um vicio de alguma configuração do Xcode em
minha máquina. Estou subindo o vídeo no youtube para que possa acompanhar o
passo a passo. Fiz tanto o passo de mover o ViewController quanto o
Storyboard:
Att
Boa tarde Guilherme,
Eu queria era um vídeo a replicar o que está no livro. Com pastas referenciadas não por grupos, o que fizeste também já tinha feito.
De qualquer maneira, valeu o esforço.
Ab
Bom dia João,
Da maneira que mostrei funcionou os dois arquivos? Via grupo? O story
board também?
Att
Boa tarde Guilherme,
Não me leves a mal a pergunta, mas o que está no vídeo é igual ao que está no livro??.. A meu ver não!
O que eu quero é organizar por PASTAS em vez de grupos, aliás por grupos já tinha conseguido e já te tinha dito!
Jarcm
Boa tarde Guilherme,
Eu queria era um vídeo a replicar o que está no livro. Com pastas referenciadas não por grupos, o que fizeste também já tinha feito.
De qualquer maneira, valeu o esforço.
Ab
Olá Jarcm
No livro está errado mesmo. Era para escolher “criar grupos”, vamos corrigir
Sou um dos editores da Casa do Código e vi que você não está satisfeito com a sua compra. Por favor, mande um email para contato@casadocodigo.com.br com o codigo da compra que podemos efetuar um reembolso se achar conveniente.
obrigado
Boa noite,
Obrigado pela proposta, mas também não julgo correcto da minha parte, o que eu queria mesmo era que alguém me dissesse se ainda é possível fazer o que está no livro ou não. E caso seja possível, como fazê-lo.
E mais uma vez obrigado!
Pessoal, também me deparei com o mesmo problema. Mas, após ler as mensagens aqui no post consegui entender e resolver o problema.
O que fiz foi primeiramente criar as pastas em disco como proposto e na sequência as arrastei para o XCode afim de criá-las na estrutura do projeto.
Neste momento é que entra o detalhe. Na janela apresentada (Choose options for adding three files), em Added folders, a opção selecionada por padrão é a Create folders reference e é aí que começa o problema.
Deve ser selecionada a opção Create groups.
Minha sugestão é deletar as pastas no somente XCode mantendo as que já foram criadas em disco, e em seguida repetir o procedimento.
O mesmo deve ser feito ao mover os arquivos das pastas em disco para a estrutura do projeto. Feito isso, é só correr pro abraço.
Espero ter sido claro e ajudado.
Caso alguém precise, estou à disposição para ajudar.