Avisos do Xcode 7 Beta: orientações da interface e lançamento do storyboard

131

Abri meu projeto no Xcode 7 beta e estou recebendo os seguintes avisos que não recebo no Xcode 6:

 All interface orientations must be supported unless the app requires
 full screen.


 A launch storyboard or xib must be provided unless the app requires
 full screen.

O aplicativo usa a orientação Retrato apenas para dispositivos, e eu tenho que definir dessa maneira. Eu também tenho storyboards para interfaces de iphone e ipad. Não consigo determinar por que estou recebendo esses avisos. Este é um bug beta do Xcode 7?

bachma0507
fonte
parece um bug. Verifique os fóruns de desenvolvedores da Apple. Alegrias de ser um testador beta: p
Sam B

Respostas:

274

Este aviso é novo para o iOS 9, pois suporta aplicativos redimensionáveis ​​com suporte para várias janelas. Anteriormente, os aplicativos eram escalados automaticamente para novos dispositivos com resoluções de exibição de hardware diferentes daquelas na imagem de inicialização (que é basicamente como o iOS detecta as resoluções de interface suportadas). Agora, os aplicativos compatíveis com várias janelas devem definir as resoluções suportadas, incluindo uma imagem de inicialização ou storyboard para todos os tipos de tela do dispositivo.

A menos que você esteja reescrevendo seu aplicativo para oferecer suporte a várias janelas, você precisará de 'Tela cheia'. Essa é uma dica para o iOS de que você não suporta várias janelas e basicamente faz com que o iOS 9 funcione como as versões anteriores a esse respeito.

Portanto, se você estiver enviando uma atualização de aplicativo para iOS 9 e não for compatível com várias janelas, basta acessar as configurações de destino do projeto, selecionar Geral e, em 'Informações de implantação', procure a caixa de seleção chamado 'Requer tela cheia'. Marque isso e os avisos desaparecerão.

Certamente não é um bug. Se esse aviso estiver presente, seu aplicativo poderá ter problemas durante o envio. Não tenho certeza disso, porque ainda não enviei um aplicativo com iOS 9 GM Seed, mas certamente vou marcar a caixa :-)

Simon Tillson
fonte
4
Essa resposta é muito melhor que a atual. Obrigado por explicar o "porquê" dessa alteração e o "o que" é realmente a configuração de tela cheia. (Eu imaginava que era a mesma configuração que os jogos usados para se livrar da barra de título, mas parece que este não é o caso.)
natevw
@natevw, mas não tão conciso quanto o que diz para você "apenas marcar todas as malditas caixas". Essa resposta me levam a crer que precisava de um monte de novas imagens de tela de lançamento para remover o aviso ...
dcow
1
@ dcow - Bem, você leu errado então. Afirmei claramente que você só precisa adicionar imagens de inicialização OU marque a caixa Requer tela cheia. Raramente existe uma resposta simples para essas coisas ... Depende do que você deseja alcançar.
Simon Tillson
1
@ SimonTillson, você leu meu comentário errado e claramente não olhou para a resposta abaixo. Eu não estou falando sobre a caixa requer tela cheia . A correção real é oferecer suporte a todas as orientações. Isso não requer a adição de imagens de inicialização. Significa simplesmente garantir que todas as caixas estejam marcadas sob a orientação do dispositivo nas configurações gerais do projeto. Talvez você esteja sugerindo que sugerir que a correção está "incluindo uma imagem de lançamento ou storyboard para todos os tipos de tela de dispositivos" , mas como eu disse, não é tão conciso quanto a resposta que explicitamente lhe diz isso.
Dcow 28/04
@dcow O OP tratava de resolver os avisos sozinho, não perguntava como oferecer suporte a várias janelas. Como a janela múltipla funciona apenas corretamente em resoluções nativas, você tem razão em carregar imagens de inicialização para todos os tipos de tela do dispositivo e todas as orientações em uso devem ser marcadas. Ainda não entendi qual era o seu problema original com a minha resposta, já que a maioria dos usuários só queria saber o significado de Requer tela cheia e / ou como se livrar do aviso.
Simon Tillson
62

Basta ir ao seu destino, clicar na guia "Geral", encontrar a seção "Informações de implantação", verificar a opção "Requer tela cheia". :)

É tão fácil, né?

BTW, esta não é a melhor solução. Haverá mais e mais soluções melhores. Mas quando respondo a essa pergunta, pensei apenas em como matar os avisos. Eu não expliquei por que fazer isso, mas como resolver isso. A versão beta do Xcode pode mudar seus recursos, por isso, forneço uma "solução alternativa" no início. Portanto, se você acha que minha solução é uma solução alternativa, vote em outras respostas melhores. Mas esse não é o motivo da votação. Obrigado :)

YangXiaoyu
fonte
15
Definitivamente, essa não é uma solução, simplesmente uma solução alternativa pela metade. Respeitosamente, discordo da sua resposta.
Kbpontius
Outra solução é verificar todas as "Orientações do dispositivo" no mesmo local e fornecer um arquivo xib ou storyboard em vez de um arquivo de imagem. Às vezes, devemos fazer uma escolha: marque a opção "Requer tela cheia" ou tudo em "Orientação do dispositivo". Porque somos solicitados a fazer isso pelo Xcode. :)
YangXiaoyu
6
@kpont O que exatamente você espera como solução? Estalo mágico do dedo para remover o aviso? O Xcode 7 possui metadados adicionais necessários e você deve fornecê-los. Se você acha que isso é um erro, você abriu um relatório de bug com a Apple?
21715 Leo Natan
6
A solução alternativa é válida no contexto de "meu aplicativo foi construído e executado bem ontem, mas hoje o Xcode lança um aviso". Obviamente, a Apple gostaria que todos os desenvolvedores atualizassem todos os aplicativos para rodar com todos os recursos ativados. No entanto, "aqui no mundo real", às vezes precisamos apenas corrigir algum bug ou a próxima versão de algum tipo e lidar com o cenário da Apple em constante mudança posteriormente. A solução alternativa é válida. Da mesma forma, o conceito de adicionar xibs / storyboards para apoiar orientações é válido. Yay!
Olie
4
Uma "solução alternativa incompleta" para a qual a Apple adicionou uma caixa de seleção em Configurações gerais ...
Rivera
11

Acabei de ver esse erro e, depois de ler os comentários, certamente desejo oferecer suporte ao iPad e ao uso de várias janelas. Isso é tão simples quanto verificar as opções de Orientação do dispositivo "Paisagem à esquerda" e "Paisagem à direita" e garantir que minha interface do usuário as suporte.

A melhor maneira de encontrar um bom suporte para várias janelas é usar os simuladores redimensionáveis, ou melhor, na minha opinião, usar o iPad Pro no XCode 7.1 e ativar o recurso de várias janelas arrastando da direita. Depois de seguir estas etapas, meu aplicativo suporta esses recursos e consigo ver rapidamente o que preciso atualizar ou otimizar para dar suporte completo a eles.

d2burke
fonte
"A melhor maneira de testar o bom suporte a várias janelas é usar simuladores redimensionáveis, ou melhor IMO, usar o iPad Pro no XCode 7.1 e ativar o recurso de várias janelas arrastando da direita." Isso é literalmente uma resposta, em tom de conversa. Você poderia ter esclarecido seu comentário antes da votação.
d2burke
Bom ponto, eu perdi o estilo conversacional. Peço desculpas. Mas você pode reescrevê-lo - perdi a primeira vez e sou um falante nativo.
Abizern
Eu entendo :) Obrigado por responder. Vou atualizá-lo agora.
D2burke
2
Esta é a resposta atual para esta pergunta. Obrigado!
Aviel Gross
de cabeça para baixo não estava marcado para mim. ativando remove o aviso. Eu também acho que essa é a resposta certa
neelabh
8

Por padrão, a Orientação do dispositivo ativa apenas Retrato, Paisagem esquerda e Paisagem direita. Você também precisa ativar o Upside Down.

insira a descrição da imagem aqui

CosmicMind
fonte
3

“Limpar pasta de compilação” e compilar novamente

Recebi a All interface orientations must be supported unless the app requires full screen.mensagem hoje no Xcode 7.3.1, aparentemente sem motivo, nenhuma alteração relacionada que eu fiz.

  • I fazer ter umLaunchScreen.storyboard
  • Eu não verifiquei Requires full screen.

Tentei a manobra habitual quando o Xcode me deixa intrigado com algum novo erro por um motivo não bom:

  1. Mantenha pressionada a tecla Opção enquanto clica no Productmenu.
  2. Escolha Clean Build Folder( não Clean ).
  3. Escolha Product> Build.

Não há mais problema. Depois de mais algumas sessões de compilação e execução, a mensagem de erro ainda precisa aparecer novamente.

Basil Bourque
fonte
0

Você forneceu um "Launch Storyboard" para seu aplicativo? Ou você acabou de fornecer imagens estáticas para os vários tamanhos.

Verifique aqui: https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

cbiggin
fonte
Uso uma imagem de lançamento, não um storyboard de lançamento. Eu pensei que o storyboard de lançamento era opcional. Eu acho que é altamente recomendável usar um storyboard de lançamento em vez de uma imagem de lançamento no Xcode 7, por isso o aviso? A versão atual do aplicativo já foi aprovada pela Apple, acho que vou incluir um storyboard de lançamento na próxima versão, na qual o Xcode 7 já será lançado ao público. Graças
bachma0507
Estou tendo o mesmo problema, portanto, apenas para confirmar @cbiggin - você precisa de um storyboard de lançamento para se livrar desse erro?
amitsbajaj
Não posso confirmar, apenas o que eu teorizo ​​pode estar causando o problema. Tente adicionar um Storyboard de lançamento e veja se ele desaparece. Se isso acontecer, então up-votar a minha resposta :)
cbiggin
1
manter em mente que você só pode usar um storyboard de lançamento para iOS> = 8
troppoli
0

Defina UIRequiresFullScreen como YES em Info.plist. E marque Requer tela cheia .insira a descrição da imagem aqui

Prasad Patil
fonte