Erro de Storyboard iOS5: Storyboards não estão disponíveis no iOS 4.3 e anteriores

98

Eu construí um pequeno aplicativo usando storyboards e ele funcionou muito bem. Pouco antes do teste final, decidi experimentá-lo para ver se funciona no iOS 4.3. Cliquei no cinza 5.0 nas configurações do projeto e selecionei 4.3.

O aplicativo falhou ao criar a seguinte mensagem de erro:

Os storyboards não estão disponíveis no iOS 4.3 e anteriores

Ambos os storyboards do iPhone e do iPad me dizem isso.

O problema é que, quando volto para o iOS5, continuo recebendo esses erros de ambos os storyboards, e o produto não cria! Eu verifiquei: a meta de implantação do iOS nas configurações do projeto é 5.0 A meta da implantação do aplicativo é 5.0 As configurações de compilação usam iOS 5.0 SDK

O que mais eu preciso fazer para restaurar meu projeto a um estado edificável? Este é um bug novo ou estou esquecendo de algo?

Atualização: Continuei recebendo este erro mesmo depois de fazer uma limpeza. Mudei o depurador no Schemes para "LLDB" e fiz uma limpeza adicional , o projeto agora constrói e compila

Alex Stone
fonte
Para registro, tentei todas as soluções propostas (em 9 de fevereiro de 2012). Nenhum funciona. Hmm ...
Joe D'Andrea
1
Tenho o mesmo problema, mesmo com novos projetos (isso é loucura)! Tentei todos os métodos aqui, nenhum funcionou. Atualizar o Xcode para a versão mais recente (4.3.1) também não ajuda. grrrrrr .....
Luzifer42
1
Nenhuma das respostas abaixo funcionou para mim. Julgado em 22 de março ..! :(
jeevangs
2
Eu Profileeditei o aplicativo para vazamentos e, em seguida Run,
editei
não consigo imaginar como a apple é estúpida
neobie

Respostas:

111

Eu também peguei esse problema e finalmente resolvi seguindo o seguinte procedimento:

  1. Abra XXXXXX.storyboard
  2. Abra a guia Identity and Type em sua visualização direita do Xcode.
  3. Defina o valor de Development in Document Versioning para "Xcode 4.2" (meu valor padrão é "Default Version (Xcode 4.1)".
  4. Altere o valor de implantação da versão do SDK do projeto (iOS 5.0) para o iOS 5.0 e, em seguida, de volta para a versão do SDK do projeto (iOS 5.0)

Reconstrua o projeto e o erro deve ser resolvido.

algodão 5415
fonte
Isso funcionou para mim também, mudar de GDB para LLVM não pareceu funcionar. Parece que alterar o Deployment Target para qualquer coisa menor que 5.0 na tela Target-> Summary define o Storyboard Document Versioning Development (Xcode) de volta para 4.1, mas mudar de volta para 5.0 não altera a versão do Xcode de volta para 4.2.
FractalDoctor
1
Eu também tive que limpar antes de reconstruir
Bushra Shahid
7
Tive o mesmo problema, mas não consegui corrigi-lo desta forma. Por fim, consegui corrigi-lo removendo a referência ao storyboard, compilando, adicionando de volta e compilando novamente.
smcmahon
1
Eu gostaria que isso funcionasse para mim! Eu sinto que deveria, com base no feedback, mas sem dados, desculpe. :(
Joe D'Andrea de
1
Um pouco estranho, mas o que funcionou para mim foi arrastar o arquivo do storyboard do xcode para a mesa, limpar e depois construir - não faz sentido, eu sei.
JARC
20

A solução que funcionou para mim foi simplesmente deletar o ~/Library/Developer/Xcode/DerivedDatadiretório do meu projeto.

C Fraire
fonte
Parece que seria o mais confiável. Funcionou para mim quando nenhuma outra resposta funcionou.
Nicolas Renold
Este é o único que funcionou para mim, e estou descaradamente rejeitando respostas que não funcionaram. Desculpe, pessoal ... este ficou muito frustrante.
David Morton de
Isso funcionou para mim. Estranhamente, excluir os dados derivados do projeto do Organizer não funcionou, mas excluir toda a pasta do Finder funcionou.
roubo de
1
excluir a pasta DerivedData é sempre a primeira coisa que tento. No entanto, não ajudou aqui
brainray
17

Vou apenas adicionar esta como outra resposta possível aqui, já que as primeiras soluções funcionaram para mim várias vezes (como mencionei no meu comentário anterior) até hoje quando não consegui compilar meu projeto por amor ou dinheiro com o mesmo erro. Com o depurador alterado e o Xcode configurado para 4.2 e reiniciando várias vezes não consegui compilar. No entanto, descobri outra maneira de contornar esse problema.

Selecione o storyboard na coluna da esquerda e "Mostrar no Finder" e arraste o storyboard para a área de trabalho. O Xcode agora mudará sua cor para vermelho e não será capaz de compilar.

Limpe o projeto, arraste o storyboard de volta da área de trabalho para o diretório no Finder.

Em seguida, ele cria e o erro desaparece novamente.

Não sei o que desencadeou o erro originalmente, pois estou desenvolvendo no iOS5 e criando para o 4.3, mas parece surgir de vez em quando e.

FractalDoctor
fonte
Isso funcionou para mim, mas alterar o controle de versão do documento e reiniciar / limpar não funcionou.
Berik
uhhhh eu simplesmente não posso agradecer o suficiente (+1), isso salvou meu dia :-)
PeterK
14

Este parece ser um bug no XCode mais recente que eu também encontrei, tentei a solução do OP de alterar o depurador e não teve efeito.

Ele surgiu para mim desde que tentei o storyboard com 4.3 e depois tentei mudar de volta.

Minha solução foi fechar o XCode, abri-lo novamente e limpar. Então eu compilei e funcionou bem.

Espero que isso ajude outras pessoas.

Peter Brooks
fonte
2
Cmd + Q - para fechar o xCode. 'Fechar' comum não ajuda.
berílio de
Minha experiência é semelhante à resposta de FiddleMeRagged: isso funcionou por um tempo e, no momento, não está funcionando (embora nem seja a solução de cotton5415). Então, infelizmente, você não pode esperar que isso funcione 100% do tempo, mesmo que às vezes funcione.
Tyler Collier
Sim! Solução Simples: reabra o xCode e apenas o Clean, Pronto! =)
Emadpres
11

Embora outras soluções tenham me ajudado, elas não funcionaram 100% do tempo. Não sei o suficiente sobre o XCode para saber o quão confiável é essa solução, mas pelo menos funcionou para mim, então você pode experimentá-la em seu projeto.

No lado esquerdo do Xcode, abra o navegador do projeto. Clique no item superior, que é o seu projeto. No painel imediatamente à direita, você verá uma opção para escolher entre seu projeto e seus alvos. Clique no projeto e, no painel à direita, na guia "Informações", defina "Uso de compilações de linha de comando" como Depurar (em meus dois projetos em que estava tendo o erro, ambos foram definidos como Liberar).

Uma imagem é provavelmente mais fácil:

Imagem do Xcode

Outra ideia : abra outro projeto com storyboards no Xcode e tente executá-lo. Se for bem-sucedido, você pode voltar ao projeto atual e ele deve ser compilado. Acho que isso indica claramente um bug no Xcode.

Tyler Collier
fonte
Oww Yeahh! Que 'Outra ideia' funciona! Tentei de tudo, mas nenhum deles funcionou!
Hlung
Sim, outro projeto foi construído com sucesso, agora o antigo também foi construído sem erros. Obrigado.
Adeel Pervaiz
7

Depois de tentar todas as respostas aqui (removendo a referência do Storyboard, saindo do Xcode, limpando, mudando o depurador, etc.), nenhuma funcionou (com o Xcode 4.5).

A única maneira de reconstruí-lo (e foi um palpite total) foi abrir o arquivo do Storyboard em um editor de texto e excluir a seguinte linha:

<deployment version="1280" identifier="iOS"/>

Deve estar próximo ao topo do arquivo, no <dependencies> seção. Depois disso, o projeto foi construído com sucesso e o Xcode até mesmo readicionou essa linha ao arquivo, mas, ele ainda constrói ...

Vai saber...! Espero que possa ajudar alguém!

Jeannicolas
fonte
A exclusão das entradas <implantação ..> e <desenvolvimento ..> funcionou pelo menos para um arquivo de storyboard. Estranhamente, isso corrigiu o mesmo erro "não disponível no iOS 4.3" em um projeto diferente e não relacionado com storyboards.
LearnCocos2D
6

Finalmente, uma solução alternativa elegante que parece funcionar para mim! (Espero que funcione para todos os outros. Este é teimoso.)

Assim que suas configurações estiverem de volta com segurança no iOS 5-land, tente Cmd-Option-Shift K (também conhecido como "Limpar pasta de compilação ..." no menu - mantenha pressionada a opção para vê-la) e, em seguida , compilar.

Joe D'Andrea
fonte
Eu tentei todos os métodos acima, mas sem sucesso ... até que encontrei esta solução, que funciona perfeitamente.
morph85
5

a solução é simples, clique com o botão direito do mouse no arquivo de storyboard e mostre no localizador, em seguida, selecione a pasta onde o arquivo está (provavelmente na pasta en.lproj) clique com o botão direito no arquivo MainStoryboard.storyboard que está causando o problema e abra com texto editar encontre a linha que se lê ou algo assim:

<development version="4300" defaultVersion="4200" identifier="xcode"/>

e mude para algo assim:

<development defaultVersion="4300" identifier="xcode"/>

salve o arquivo e construa. Et voila ...

MichaelBadichi
fonte
Simplesmente deletar <implantação ..> e <desenvolvimento ..> (se existente) do arquivo de storyboard consertou para mim.
LearnCocos2D
4

Ok, tentei tudo acima e o problema ainda ocorreu. Então, eu apenas removo os storyboards (como referência, não movo para o lixo). então construa com sucesso; depois disso, eu os adicionei novamente; Construir, e finalmente funcionou.

Mohammad Aljaber
fonte
Não consigo nem remover as referências, já que o Xcode 4.6 trava assim que eu toco um storyboard
brainray
3

Eu estava tendo o mesmo problema. Tentei todas as respostas acima e todas as combinações e nada funcionou. Então, mais tarde, depois de fazer algumas pesquisas, analisei que o simples fato de que o erro que estava jogando em mim era direto.

Basta ir para as configurações de Build e, em vez de selecionar o arquivo de projeto xcode, selecione o arquivo do produto e altere o Deployment target para 5.0 ou 5.1. O erro deve disparar.! Eu fiz isso no Xcode 4.3 no Lion OSX. Funcionou bem para mim!!

jeevangs
fonte
3

Eu também tive esse problema, e nada ajudou. Até mesmo abrir outro projeto e tentar construir falhou.

O que eu fiz, e o que para mim, seria projetar -> info e em "Deployment Target" alterar o iOS Deployment Target para qualquer coisa, construir e então mudar de volta para o que era e construir novamente.

ilan
fonte
2

Aqui está mais um mangual vodu aleatório que parecia contornar o bug agora. (depois que outras técnicas aqui não ajudaram), renomeei o arquivo de storyboard (e a entrada para ele no arquivo info.plist). Ainda não tentei o ritual de "arrastar de / para a área de trabalho".

Esta noite, perdi cerca de 45 minutos com este problema. grrrrr. Ok, eu me sinto melhor agora.

zer0gravitas
fonte
Isso funcionou para mim e editei a resposta adicionando etapas detalhadas. Eu me pergunto quem foi tão inteligente para negar essa sugestão ...
brainray
correção: funcionou para mim até que o Xcode corrompeu novamente o projeto. Eu também tive que reinstalar o Xcode ...
brainray
1

Depois de tentar todas as sugestões acima, sem sucesso, fiz meu código compilar fazendo o seguinte.

Edit -> Refactor -> Convert to Objective-C ARC
Asbjorn Riedel
fonte
1
rm -rf $HOME/Library/Application Support/Developer/Shared/Xcode
rm -rf $HOME/Library/Preferences/com.apple.dt.Xcode.*
rm -rf $HOME/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState
rm -rf $HOME/Library/Developer/Xcode

parece ajudar com o Xcode 4.3.2

Jerzy Kozera
fonte
1

Teve um problema semelhante. O XCode construía e executava outros projetos bem, mas não conseguia se livrar do erro no projeto que eu tinha alterado, nem mesmo backups do servidor. Tentei todas as soluções acima, mas nada. Aqui está o que funcionou.

  1. Desinstale o XCode.

  2. Exclua a pasta user / library / developer / XCode.

  3. Reinstale o XCode (talvez você deva começar antes de procurar pela pasta, o download demorou 20 minutos).

  4. Inicie, limpe e construa.

Funcionou para mim. Me economizou algum tempo. Às vezes, quando o bisturi não funciona, é hora da machadinha. Agora posso escolher uma nova fonte para codificar (isso limpará suas preferências)!

texano
fonte
Obrigado, isso finalmente consertou aqui. Apenas para outros: você pode identificar esse problema se a mensagem de erro "ibtool falhou com o código de saída 255" aparecer.
brainray
-1

A única solução que funcionou para mim é criar outro projeto sem Storyboarding habilitado, construí-lo e, em seguida, voltar para o projeto de storyboard, limpar e construir.

Mirkules
fonte
-1

Aqui está mais um vodu aleatório, desconecte seu iPhone se ele estiver conectado.

Luzifer42
fonte
-2

Eu simplesmente mudei o destino de implantação para 4.0 e Desenvolvimento para 4.3 de MainStroyboard. Eu limpo o projeto; e reiniciei o mac :) sei que parece engraçado, mas reiniciar o xcode não ajudou. talvez haja um cache na memória ...

Então eu construí o projeto; foi ok!

Kaan Yy
fonte