O documento Main.storyboard requer Xcode 8.0 ou posterior

94

Baixei o Xcode beta e abri meu projeto existente para ver como ele funciona com o Xcode 8 beta (abri o arquivo Storyboard do Xcode 8).

Agora, quando abro meu projeto no Xcode 7.3, não consigo abrir o arquivo de storyboard, ocorre o seguinte erro

Esta versão não oferece suporte a documentos salvos no formato Xcode 8. Abra este documento com o Xcode 8.0 ou posterior.

Erro Xcode 7 O que devo fazer para reverter, pois quero continuar trabalhando no Xcode 7.

No Xcode 8 fui solicitado a selecionar o dispositivo e selecionei o iPhone 6S, acho que essa parte é de alguma forma responsável pelo arquivo de storyboard não abrir no Xcode 7

Bhumit Mehta
fonte
7
Reverter alterações no controle de versão
Wain em
1
@Wain Sim, essa sempre foi uma opção, mas eu tive algumas mudanças não confirmadas e também queria saber a solução (se não
demorasse

Respostas:

212

Eu descobri:

Abra seu Storyboard no Xcode 8.

Clique no Inspetor de arquivos.

Na seção Interface Builder Document , selecione Open In "Xcode 7.x" em vez de "Latest Xcode (8.0)", como na seguinte captura de tela:

insira a descrição da imagem aqui

Ao fazer isso, você receberá um alerta dizendo "Salvar para Xcode 7.x fechará seu documento e os dados para recursos do Xcode 8.0 serão removidos."

Clique em Salvar e Fechar e você poderá abrir o storyboard no Xode 7.x.

Bhumit Mehta
fonte
Tive problemas para manter a alteração, mas o que fiz foi alterá-la, salvar e fechar, ponto em que na verdade não foi salva porque ainda estava cinza, então resolvi usar o Xcode (que travou) e forçar o encerramento, e agora o storyboard está funcionando no Xcode 7 ufa!
malhal
@Bhumit Mehta Não está funcionando quando tenho 2 storyboards diferentes para ipad e iphone. As alterações são salvas apenas para um deles. Plz me diga qualquer solução alternativa.
mars
@mars: Você só precisa repetir as mesmas etapas para os dois storyboards, tentei em um projeto de teste e funcionou.
Bhumit Mehta
2
onde está o documento Interface Builder?
natecraft1 01 de
10
MAS se você abrir novamente um projeto no xCode 8 e entrar em um storyboard - você terá o arquivo do storyboard bagunçado novamente e terá que voltar para o 7.x novamente - e "Salvar e Cose" novamente
Massmaker
67

Eu tenho uma solução:

  1. Abra o storyboard como "código-fonte" (clique com o botão direito no storyboard -> abrir como -> código-fonte).
  2. Exclua esta linha:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. Exclua isso para todos os storyboards que você está usando.
  2. Execute o aplicativo.
Himanshu
fonte
13
Depois de concluir as etapas acima, ao abrir o storyboard como construtor de interface, o Xcode travou !!!
Elangovan
3
Isso pode ter funcionado no XCode 8 Beta. Mas no lançamento do XCode 8, fazer isso irá travar o XCode.
GeneCode
isso não está funcionando agora, ainda erro e é definido automaticamente como 8.0 como storyboard aberto
Arfan Mirza
a resposta aceita parece muito mais segura do que apenas excluir uma linha
kiedysktos
Substituir o código por figuras diferentes não funciona para mim. Apenas a exclusão da linha de código corrige o erro. A resposta aceita parece funcionar apenas quando você já tem o Xcode8.
jinglei de
27

É trabalho para mim

Clique com o botão direito em main.stoaryboard.Go para abrir como -> código-fonte e alterar as dependências

mudança

 <capability name="documents saved in the Xcode 8 format"
     minToolsVersion="8.0"/>  to

   <capability name="documents saved in the Xcode 7 format"
     minToolsVersion="7.0"/>

Siga a mesma etapa em launchscreen.stoaryboard

Preeti
fonte
2
Esta é a melhor solução até agora, caso você não tenha o Xcode 8.0
Kampai
2
Obrigado pela solução. O mesmo problema ocorreu após a mudança do Xcode 9 para o Xcode 8. Eu mudei "<capacity name =" Safe area layout guias "minToolsVersion =" 9.0 "/>" para <capacity name = "Safe area layout guias" minToolsVersion = "8.0" / >. Após esta mudança, quando você abrirá o storyboard no construtor de interface, esta linha será removida.
Amit de
10

O mesmo problema ocorreu após a mudança do Xcode 9 para o Xcode 8. Eu abri o storyboard no código-fonte e mudei

"<capability name="Safe area layout guides" minToolsVersion="9.0"/>" 
to <capability name="Safe area layout guides" minToolsVersion="8.0"/>

Após esta mudança, quando você abrirá o storyboard no construtor de interface, esta linha será removida.

Amit
fonte
obrigado você me poupou algumas horas de trabalho, o xcode me alerta que alguma coisa estranha foi encontrada e reparada então meu arquivo ficará bem após esta modificação?
brahimm
7

Eu também encontrei essa questão. Segui este método para alterá-lo: como não consegui clicar no menu para escolher 7.0 ou posterior, abri o main.storyboarde launchscreen.storyboardcom o código-fonte, mudei sua versão manualmente e isso resolveu o problema.

Michael Tangs
fonte
5
Aqui está a linha antes das alterações: <capacity name = "documents saved in the Xcode 8 format" minToolsVersion = "8.0" /> Após as alterações: <capacity name = "documents saved in the Xcode 7 format" minToolsVersion = "7.0" />
Dani.Rangelov
A versão de lançamento do XCode 8.0 (não beta) mostra minToolsVersion = "6.0"
GeneCode
4

Como o XCode 8 constantemente converte arquivos de storyboard para o formato XCode 8 toda vez que eu o abro (é um projeto antigo e tudo fica bagunçado), acabei baixando o XCode 7 e usando-o apenas para editar arquivos de storyboard (e fechá-lo antes de volte para o XCode 8). Se eu acidentalmente abrir o arquivo de storyboard no 8, simplesmente redefino esse arquivo para o último commit, já que o projeto está no GIT.

Estúpido, eu sei, mas funciona.

Dimmy3
fonte
3
<dependencies>
    <deployment identifier="iOS"/>
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
    <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies>

Substitua suas dependências por estas dependências

Jason
fonte
0

Abra o storyboard como Source Codee pesquise a minToolsVersionchave. Defina esse valor como 7.0 e abra esse storyboard no Xcode 7.x

iOS_Developer
fonte
0

Como @Bhumit_Metha dada solução direta. Infelizmente, no meu caso não tenho MAC com a versão mais recente do Xcode (8.0+), faça essas alterações para suportar novos arquivos 'xib' no meu antigo xcode (7.x).

Então, acabei com uma solução de trabalho com etapas simples como segue:

[1] Crie um arquivo xib vazio em seu xcode 7.x.

[2] Clique com o botão direito no xib vazio para ver o código-fonte e copiar tudo isso.

[3] Agora abra um novo xib (um com erro de versão) no visualizador de código-fonte. Cole o código anterior no topo.

[4] Substitua todas as linhas antigas por novas tags internas: <objects> ...... </objects>

E isso é tudo. Funcionará com compatível com xcode 7.x!

Dica: Ao abrir na próxima vez no novo xcode, certifique-se de selecionar o modo de compatibilidade.

por Jeevan
fonte