A imagem de lançamento não aparece no meu aplicativo iOS

Eu quero obter uma canvas de lançamento simples para mostrar no meu aplicativo, construído usando o Xcode 6.0.1.

Eu adicionei uma canvas de boot de duas maneiras: como um XIB (com o nome padrão, LaunchScreen.xib) e como um conjunto de launchimage dentro de xcassets.

Certifiquei-me de que o meu “Launch Screen File” está definido como LaunchScreen.xib.

Eu simulei todos os dispositivos disponíveis (por exemplo, “iPhone5 iOS8” / “iPhone5s iOS8” / “iPhone6 ​​iOS8”. Observe que somente o iOS 8 está disponível no simulador).

Então, isso foi muito doloroso para algo que deveria ser trivial. Aqui está o que eu fiz:

Use xcassets

Eu decidi usar .xcassets versus o .xib para o lançamento. Eu apaguei o .xib. Se você tiver images.xcassets no seu projeto, então ótimo, caso contrário, você pode adicionar um de Arquivo> Novo> arquivo:

AddNewASsetCatalog

Criar um conjunto de imagens de boot

Agora, crie no mínimo um conjunto de boot e um conjunto de icons no seu arquivo .xcassets, clicando com o botão direito do mouse na área do navegador.

Adicionar nova imagem de inicialização e ícone do aplicativo

Atualize os icons do aplicativo e inicie as configurações de imagens

Então, certifiquei-me de que o “ícone Aplicativos e conjuntos de imagens” no meu destino é o seguinte.

Muito importante: verifique se a configuração “Iniciar arquivo de canvas” está em branco.

Ícone de aplicativos e conjuntos de imagens

Adicione as imagens

Por último, mas não menos importante, a terminologia usada pela Apple para a seleção de dispositivos é confusa. Inicialmente eu pensei que desde que eu estou implantando apenas para iOS8 (iPhone Portrait), eu posso fazer isso e apenas colocar as imagens de lançamento do iPhone 6 e iPhone 6+:

Devices

Eu rapidamente percebi que não é assim que funciona e eu estava recebendo um aviso: “Uma imagem de lançamento do iPhone Retina (4 polegadas) para iOS 7.0 e posterior é necessária.”

Então eu tive que selecionar o iPhone no iOS 7.0 e posterior também e adicionar uma imagem para o iPhone 5s.

Portanto, para descobrir quais checkboxs verificar à direita, não faça a pergunta: qual é o meu iOS mínimo e a orientação para dispositivos e dispositivos, mas pergunte:

Quais dispositivos disponíveis podem suportar meu iOS mínimo? Agora qual é o iOS mínimo suportado nesses dispositivos? E certifique-se de verificar todas essas checkboxs. Então, para mim, estou mirando iPhone 5s, 6 e 6 Plus em 8.0, mas dado que o iPhone 5s pode existir com 7.0, eu preciso verificar a checkbox 7.0 também para mostrar o espaço reservado para a imagem. Em outras palavras, a checkbox de seleção (iOS) à direita mostra a versão mínima do iOS disponível para esse dispositivo e você precisa clicar nela para mostrar o espaço reservado para a imagem e colocar uma imagem, independentemente de estar implantando nesta versão do iOS ou não .

Espero que isso ajude alguém.

Adicionando todos os dispositivos

insira a descrição da imagem aqui

O LaunchScreen.xib e o valor Launch screen interface file base name são, a partir de minha experiência, ambos os espaços reservados que são criados quando o projeto é criado. Se você gostaria de usar os Images.xcassets exclusivamente para suas canvass de boot, apague tanto o LaunchScreen.xib quanto o item LaunchScreen.xib .

Se você fornecer a configuração Images.xcassets seu aplicativo usará o xib e não o seu Images.xcassets

Xcode 8:

Imagens usadas no LaunchScreen.xib não devem estar em um .xcassets, tente soltá-las no pacote.

Parece que, quando o .xib é carregado, as imagens nos .xcassets ainda não estão disponíveis.

EDIT: Por algum motivo opaco depois de adicionar algumas localizações, canvas de boot parou de funcionar, agora ele funciona com uma imagem dos ativos, extremamente estranho.

Minha solução foi criar todas as imagens de lançamento. insira a descrição da imagem aqui

Então eu defino o Launch Images Source para o ativo LaunchImage e deixo o arquivo da canvas de boot em branco.

Finalmente, se o projeto não tiver um Launch Screen.xib, adicione esse arquivo e deixe-o como está. insira a descrição da imagem aqui

Para as pessoas que estão usando a Asset Catalog's Launch Image do Asset Catalog's Launch Image , como eu aprendi isso da maneira mais difícil, eu tive este cenário onde primeiro recebi um arquivo jpg então pedi que convertessem para PNG .

Eu confiei neles o suficiente para vasculhar a internet primeiro sobre o motivo pelo qual a imagem de lançamento não estava sendo mostrada e fiz todas as soluções sem sucesso, então tentei colocar de volta a antiga imagem de lançamento e estava funcionando bem, foi lá que pensei tem não é um arquivo PNG adequado.

TL; DR: Certifique-se de que você está realmente usando um arquivo PNG adequado, não um arquivo com uma extensão renomeada.

Para mim, funcionou quando desinstalei o aplicativo e reiniciei o simulador. Quando instalado novamente, a imagem de boot apareceu conforme o esperado. Isso também funcionou em um dispositivo real.

Removendo “Nome da base do arquivo da interface da canvas de boot” do arquivo Info.plist E da lixeira “Launch Screen.xib” funcionou para mim.

Depois de várias horas frustradas com isso, decidi usar assim. Funciona tanto para iPhone como para iPad (no Xcode 6.1)

  1. Arquivo >> Novo Arquivo >> Interface do Usuário >> Tela de Lançamento
  2. Criar nova chave / valor: “Lançar o nome base do arquivo da interface da canvas” / “Seu Nome da Tela Inicial” em YourApp-Info.plist

1 imagem vale mais que mil palavras. Por favor olhe abaixo:

Arquivo/>> Novo Arquivo >> Interface do Usuário >> Tela de Lançamento”></p>
<p><img src=

O problema com a resposta aceita é que se você não definir o Launch Screen File, seu aplicativo estará no modo de upscaling em dispositivos como o iPhone 6 & 6+ => blurry rendering.

Abaixo está o que eu fiz para ter uma solução de trabalho completa (estou direcionando o iOS 7.1 e usando o Xcode 8) em todos os dispositivos (na verdade, eu estava ficando louco com esse problema de upscaling)

1. Prepare os seus .xcassets

Para simplificar, estou usando um arquivo .PDF vetorial. É muito conveniente e evite criar várias imagens para cada resolução (1x, 2x, 3x …). Eu também assumo aqui que você já criou seus xcassets.

  • Adicione sua imagem da canvas inicial (ou arquivo vetorial) ao seu projeto
  • Vá para o seu .xcassets e crie um novo conjunto de imagens . Na janela Atributos da Imagem, selecione Escalas -> Escala única
  • Arraste e solte o arquivo vetorial no conjunto de imagens.

Crie um Conjunto de Imagens para seus .xcassets

2. Crie seu arquivo de canvas de lançamento

Criar um arquivo de tela de inicialização

3. Adicione sua imagem ao seu arquivo Launch Screen

  • Adicione um object Image View ao seu arquivo Launch Screen (exclua os labels que foram criados automaticamente). Esta visualização de imagem deve se referir ao conjunto anterior de imagens .xcassets . Você pode referenciá-lo a partir do atributo Name . Nesse estágio, você deve ver corretamente a imagem da canvas de boot na visualização da imagem.
  • Adicione restrições a essa visualização de imagem para manter a proporção dependendo da resolução da canvas.

Adicione a imagem da tela inicial ao seu arquivo de tela de inicialização

4. Adicione seu arquivo de canvas de lançamento ao seu destino

Finalmente, em suas propriedades gerais de destino, consulte o arquivo da canvas de boot. Propriedades de alvo e tela de lançamento

Inicie seu aplicativo e sua canvas inicial deve ser exibida. Tente também no iPhone6 ​​e iPhone6 ​​+, e seu aplicativo deve ser exibido corretamente, sem qualquer upscaling (o arquivo de canvas de boot tem como objective fazer isso).

Eu li sobre um bug no xCode 6 que impede que aplicativos somente de paisagem exibam uma imagem de boot.

Tente definir imagens e orientação dentro de Images.xcassets:

insira a descrição da imagem aqui

Faça o que Spectravideo328 respondeu e:

Tente DESCONECTAR a checkbox iOS7.0 e posterior e VERIFIQUE a checkbox iOS6.0 e anterior no catálogo de materiais. Parece haver um bug com a imagem de boot do iOS7.0. (Ambos têm as mesmas Imagens de Lançamento, exceto a 320×480)

Sry eu não posso postar i imagem por causa da minha reputação (membro muito novo)

Espero que isso ajude, ajudou para mim!

Há um bug em que as imagens de boot do Xcode 6 armazenadas em arquivos de ativos fazem com que os aplicativos do iPhone landscape somente no iOS7 / iOS8 exibam uma imagem de boot preta. iPad funciona bem.

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868

Solução: Use o novo Launchscreen.xib para ios8 + em diante. (é muito melhor)

Para que os dispositivos ios7 funcionem, basta desativar a origem das imagens de boot e usar os nomes dos arquivos de imagens de lançamento da escola antiga na plist

 iphone5 - Default-568h@2x.png iphone4s - Default@2x.png ipad2 - Default-Landscape~ipad.png ipad retina - Default-Landscape@2x~ipad.png 

Doloroso mas funciona. B
insira a descrição da imagem aqui

Eu tentei de tudo, mas a solução foi extremamente simples. Basta usar o arquivo .jpg em vez de .png no seu LaunchScreen.storyboard. Parece que o iOS não renderiza o arquivo .png ou o tamanho da imagem relativamente grande na canvas de boot.

Basta remover e reinstalar o aplicativo que funcionou para mim:

  • Teste no simulador

    1. Exclua o aplicativo no simulador.
    2. Saia e reinicie o simulador.
    3. Execute o projeto novamente no Xcode.

  • Testando no dispositivo

    1. Exclua o aplicativo do dispositivo.
    2. Execute o projeto novamente no Xcode.

Eu configurei “LaunchImage” no meu catálogo de ativos e simplesmente limpei o campo “Launch Screen” et voila! Eu tive as imagens de lançamento aparecem …

Uma maneira é também adicionar “Launch Screen” ( LaunchScreen.xib ), colar a imagem no UIImageView e configurá-la como ” Horizontal Center in Container ” e ” Vertical Center in Container ” em “Align” se você estiver usando Auto Layout.

Tela: http://i.stack.imgur.com/CfnHT.png

Não esqueça de colocar LaunchScreen.xib em “Launch Screen File”.

Eu tive o mesmo problema depois que comecei a usar o Xcode 6.1 e mudei minhas imagens de boot. Eu tinha todas as imagens em um Catálogo de Ativos. Eu teria apenas uma canvas preta em vez da imagem estática esperada. Depois de tentar tantas coisas, percebi que o problema era que o Catálogo de materiais tinha a opção ‘Associação de destino’ do projeto em sua exibição FileInspector. Marcando para ON, a mágica e a imagem começaram a aparecer no lançamento do aplicativo.

  • Certifique-se de que suas imagens tenham tamanho preciso de acordo com as diretrizes da Apple.
  • Certifique-se de selecionar apenas uma opção, iniciar o arquivo da canvas ou Iniciar a origem da imagem. Você pode encontrar essas duas opções em Configurações de criação do projeto -> Geral

Minha sugestão para você é selecionar Launch Image Source como Image.Assets. Crie resources de imagem inicial na pasta Image.assests.

Imagem de referência para configuração correta: insira a descrição da imagem aqui

Eu tentei abrir um novo projeto e seguir os mesmos passos que você fez para definir uma canvas de lançamento.

Por padrão, o .xib foi definido como “Launch Screen File” e a canvas branca com um label foi exibida por meio segundo no simulador.

Eu, então, um “Launch Images Source” e defini-lo para o Images.xcassets que gerou com as imagens de fundo que eu adicionei ao projeto. (tudo bem até agora)

Execute novamente o simulador e as imagens de lançamento não são exibidas …

Depois de excluir o “Launch Screen File” especificado e um clean: Product -> Clean, no menu superior, as imagens de lançamento finalmente aparecem.

Talvez isso ajude?

Eu me deparo com esse bug também com o meu aplicativo somente de paisagem, siga os trabalhos de solução do carlodurso:

  1. marque a checkbox “Lanscape”
  2. arraste e solte a imagem no local.

Há um arquivo ‘LaunchScreen.xib’ adicionado automaticamente ao seu projeto. Excluindo isso, o xCode será alterado para usar as imagens padrão no Images.xcassets

editado para adicionar ir para icons de aplicativos e iniciar o arquivo de canvas de boot de imagens deve estar em branco / emtpy

Eu tive um bug muito estranho. Aparentemente, minha origem da imagem de boot só foi configurada para configuração de debugging e não para release. Isso resultou na minha canvas de boot aparecendo quando executando a configuração de debugging, mas quando eu mudei para liberar eu só tenho uma canvas preta.

Eu consertei isso quando mudei minha configuração de compilation para liberar o botão Launch Image Source e tive que escolher Use Asset Catalog novamente.

Para aqueles que estão curiosos, este é o aspecto do meu projeto.pbxproj.

 ... ... ... XXXXXXXXXXXXXXXXXXXXXXXX /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; <---THIS LINE WAS MISSING ... ... ... 

Por algum motivo, tive que alterar a localização do catálogo de ativos para “relativo ao projeto” para que isso funcionasse.

Eu também tinha apagado o aplicativo do meu telefone e reinstalado, mas provavelmente era o “relativo ao projeto” que o fez.

* (Xcode 7.2 / Meta de Implantação 7.0 / Apenas Orientação Paisagem) *

Eu sei que é uma pergunta antiga, mas com o Xcode 7.2 ainda estou recebendo a mensagem e me consertei com isso:

1) Selecione RETRATO e ambas as paisagens. Adicione “Launch Images Source” e “Launch Screen File”

insira a descrição da imagem aqui

2) Na sua imagem de lançamento selecione iPhone “8.0 e posterior” e “7.0 e posterior”.

insira a descrição da imagem aqui

3) Adicione este código ao seu appDelegate:

 #if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } #else - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { return (UIInterfaceOrientationMaskLandscape); } #endif 

4) Adicione isto no seu ViewController

 #if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 - (NSUInteger)supportedInterfaceOrientations #else - (UIInterfaceOrientationMask)supportedInterfaceOrientations #endif { return UIInterfaceOrientationMaskLandscape; } 

Espero ajudar a outra pessoa.

Isso é trabalhado para mim. Clique em LaunchScreen.storyboard, em seguida, no painel direito, você pode selecionar a checkbox de seleção “É Initial View Controller”.

LaunchScreen.storyboard -> É o Controlador da Vista Inicial

Eu só percebi isso. Minha imagem de lançamento não estava aparecendo, recebo uma canvas branca ao iniciar em um dispositivo (iPhone 6, 7+) ou testFlight. Correção: Renomeado “Landing_screen.png” para apenas “Landing_screen” removendo a parte .png. O ícone da imagem no Xcode foi alterado para ícone branco e, no storyboard da canvas inicial, a imagem aparece como um ponto de interrogação agora. A imagem de lançamento aparece agora e não a canvas branca. Minha configuração: Estou usando o Swift 3.1 com o Xcode 8.3.1. Em LaunchScreen.storyboard, adicionei uma visualização de imagem simples e estiquei a imagem para ajustá-la ao controlador de visualização. Eu configurei as restrições de layout automático para cima / para baixo / à esquerda / à direita para superá-lo em 0.

Para mim, funciona quando eu removo o LaunchScreen.xib e o troco para um arquivo de storyboard LaunchScreen.storyboard .