Eu sou muito novo nisso. Segui o tutorial da Apple passo a passo para o projeto do iPhone "HelloWorld". Eu o executei no simulador do iPhone 5.0 e ele travou:
2012-11-02 14: 46: 06.782 HelloWorld [9880: c07] * Aplicativo de encerramento devido à exceção não capturada 'NSInvalidUnarchiveOperationException', motivo: 'Não foi possível instanciar a classe denominada NSLayoutConstraint' * Primeira pilha de chamadas de lançamento: (0x14a2052 0xea2d0a 0x142aa78 0x144a9af9 0x144a7f7 0x144 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x14761c5 0x13db022 0x13d990a 0x13d8db4 0x13d8ccb 0x112a7 0x12a9b 0x1fed 0x1f15 0x1) terminar chamado lançar uma exceção (LLDB)
Alguém pode me dizer o que deu errado? Estou usando o Xcode 4.5.
fonte
Respostas:
Por padrão, quando você cria um novo projeto iOS no Xcode 4.5, seu storyboard ou XIB é definido para usar o Autolayout, que é um novo recurso do iOS 6.0. A
NSLayoutConstraint
classe faz parte do sistema Autolayout e não existe nas versões mais antigas do iOS.Se você deseja implantar seu aplicativo em uma versão mais antiga do iOS, é necessário alterar seu storyboard ou XIB para não usar o Autolayout. É uma caixa de seleção no Inspetor de arquivos:
fonte
Seu arquivo Xib (arquivo do construtor de interface) contém elementos de AutoLayout, aos quais o iOS 5 não suporta.
No Xcode, vá para o (s) arquivo (s) .xib e, para cada um, desative o AutoLayout. Deve haver uma caixa de seleção no lado esquerdo dizendo "Usar AutoLayout", desmarque-a e tente novamente. (Isso fica na primeira guia do inspetor do lado esquerdo, quando você tem o proprietário do arquivo) selecionado.
fonte
Eu me deparei com esse erro quando estava trabalhando em um projeto mais antigo que queria atualizar. Marquei a caixa de seleção "Usar Auto-pagamento" para começar a trabalhar com restrições, mas esqueci de atualizar minha configuração de Destino de implantação para o iOS 6.
fonte
Você precisa executá-lo no simulador do iPhone 6.0. Seu erro:
Sugere que você esteja usando o autolayout, que funciona apenas no iOS 6.
fonte