Swift: Programe para iPhone e iPad

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 :worried:

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… :disappointed:

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:

  1. ao adicionar o folder, tente escolher a opção “add as groups”
  2. 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
  3. 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:

  1. com um novo projecto, primeiro passei o ficheiro “viewController.swift” para a pasta “viewcontrollers”
  2. 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”
  3. 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) é:

  1. mover o arquivo no sistema operacional
  2. 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.