iOS 9 Xcode 7: l'applicazione viene visualizzata con barre nere in alto e in basso


116

Installata l'app su iPhone 6 iOS9 ed ecco cosa è successo. Notare le barre nere in alto e in basso. Funziona perfettamente su iOS8. Come posso risolverlo?

Ho provato a costruire con Xcode 6.4 e 7. Stesso risultato.

(iPhone 5 utilizzato per eseguire app per iPhone 4 come questa)

inserisci qui la descrizione dell'immagine


Ho lo stesso problema su iPhone 6 subito dopo l'aggiornamento a iOS 9
aledalgrande

Stai usando la navigazione o il controller della barra delle schede nella tua app?
Ing. Ron

@RonWood Entrambi in realtà.
Mojtaba

Risposte:


187

Hai migrato la tua app da una versione precedente di Xcode? Se è così, Xcode sta ora ipotizzando le dimensioni dello schermo e hai bisogno di un modo per indicare le dimensioni effettive dello schermo in fase di esecuzione.

Ci sono due modi:

a) Se utilizzi una schermata di avvio.

Ti manca un file LaunchScreen.storyboard. Crea un file LaunchScreen.storyboard e aggiungilo al tuo progetto.

b) Se non utilizzi una schermata di avvio.

Vai alle impostazioni del tuo Target e scegli Generale, quindi Icone app e Avvia immagini. Ora imposta "Launch Screen File" sul tuo "main.storyboard" (o su un altro storyboard se appropriato)


1
Quale dovrebbe essere il contenuto di LaunchScreen.storyboard? Ricevo un errore che dice che gli storyboard OSX non supportano il dispositivo di destinazione "iphone"
adamF

4
Non è necessario un file LaunchScreen. Un'altra opzione è fornire le immagini di avvio necessarie per ciascuna dimensione dello schermo supportata.
rmaddy

Ho lo stesso problema mentre apro l'app in iOS 9.1, ma il mio problema è stato risolto aggiungendo le immagini della schermata di avvio per tutta la risoluzione, grazie a @rmaddy
g212gs

4
Nel mio caso ho bisogno di cambiare "Launch Screen File" in MainStoryBoard se non hai Launch.screen.storyboard per farlo funzionare
Evan Lin

L' opzione b ha funzionato correttamente per me! Mi stava facendo impazzire, grazie mille!
frisinacho

29

La mia app non utilizza un'immagine di avvio. L'impostazione del "File della schermata di avvio" sul mio file "main.storyboard" ha risolto il problema per me.

Questa impostazione è disponibile in "Target-> Generale-> Icone app e immagini di avvio"

Usa il seguente link per maggiori informazioni: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/


2
Questo ha funzionato per me e sembra una soluzione molto migliore rispetto all'aggiunta di un nuovo storyboard casuale al tuo progetto.
Jeremy

1
Se il progetto è Parse IOS swift starter project, vai su Target-> General-> App Icons e Launch Images e il valore dell'elenco a discesa "Launch Screen File" è vuoto. Quindi la scelta di "Main.storyboard" risolverà il problema delle "barre nere in alto e in basso".
sfbayman

Questa soluzione non funzionerà se è necessario fornire una visualizzazione personalizzata per l'immagine di avvio o se l'immagine di avvio è diversa dal controller di visualizzazione iniziale dello storyboard.
Himanshu Mahajan

17

Per me il problema è che sto migrando la mia app dalla versione precedente di Xcode e nel progetto manca il file LaunchScreen.storyboard. Ho appena creato LaunchScreen.storyboard e l'ho aggiunto per avviare Screen File. Questo ha funzionato. Applicazione con barre nere sulla soluzione superiore e inferiore


6

Sto usando xcode 7.2. All'inizio, ho creato un file LaunchScreen.storyboard, come suggerito dal permanganato di potassio , e ha funzionato! Tuttavia, non volevo una schermata di avvio, quindi ho provato a impostare Main.storyboard come Launch Screen File e ha funzionato!

xcode 7.2


2

Quando esegui la migrazione della tua app dalla versione precedente di xCode a xCode 6 o xCode 7, dovrai affrontare questo problema.

Per iOS 7 e versioni precedenti, gli sviluppatori devono fornire immagini di avvio separate per tutte le dimensioni dello schermo, risoluzioni e orientamenti supportati dalla loro app.

In Xcode 6 o versioni successive, c'è un'altra opzione. È possibile specificare uno storyboard il cui controller di visualizzazione iniziale verrà quindi utilizzato come schermata di avvio dell'app. Utilizzare i passaggi seguenti:

  • Crea un file storyboard vuoto denominato LaunchScreen.storyboard.

  • Vai alle impostazioni di destinazione e, nella scheda "Generale", seleziona lo storyboard come file della schermata di avvio nella sezione "Icone delle app e immagini di avvio". Xcode aggiungerà una chiave UILaunchStoryboardName corrispondente al file Info.plist della tua app. Quando questa chiave è presente, Xcode darà la priorità a qualsiasi immagine di avvio che potresti aver impostato.

  • Aggiungi alcune visualizzazioni secondarie alla visualizzazione dello storyboard appena creata e posizionale con vincoli. Quando avvii l'app su un dispositivo, il sistema operativo dovrebbe utilizzare la scena come schermata di avvio.

Elimina la vecchia app dal simulatore e pulisci il progetto.

Saluti :-)


2

Ho lo stesso problema nella mia app. Nella mia app ho più target aggiunti al progetto. Se utilizzo la soluzione di avvio dello storyboard, posso vedere lo schermo intero ma nel mio caso l'immagine del pranzo appare sfocata e allungata su iPhone 4. Per uscire da questo problema ho utilizzato le soluzioni di asset LaunchImage. Dopo questo, sto ancora affrontando lo stesso problema. Ho provato tutte le soluzioni di cui sopra, Alla fine ho scoperto che le mie immagini png non includono risoluzioni ALPHA . Dopo aver aggiunto nuove immagini, posso vedere le immagini a schermo intero.


2

Questo è se non usi affatto lo storyboard.

Si verifica quando rimuovi LaunchScreenda Launch Screen Filein App icons and Launch Images. inserisci qui la descrizione dell'immagine

Invece di rimuoverlo da qui, vai su info.plist e trova Launch screen interface file base namee rimuovi LaunchScreen, cioè lascialo vuoto. inserisci qui la descrizione dell'immagine

Non verrà visualizzato in info.plist se lo hai LaunchScreengià rimosso da Launch Screen File. Quindi puoi dare qualsiasi nome Launch Screen Filee apparirà e puoi rimuovere il nome.


1

Vai al catalogo delle risorse e crea una nuova immagine di avvio iOS. quindi in Target> Generali> Icone app e immagini di avvio> Avvia origine immagine vedrai automaticamente la nuova immagine di avvio creata nel catalogo delle risorse.


1

Nel mio caso, ho diversi obiettivi nel progetto e ognuno ha le proprie immagini della schermata di avvio. La cosa strana uno degli obiettivi sembra a posto, ma altri hanno quelle barre nere. La cosa era nel nome della cartella di avvio all'interno delle risorse. Modificare il nome in LaunchImage risolve il problema.



0

Nel mio caso ho una risorsa con immagini di avvio, ma mostrava anche la barra scura superiore e inferiore.

Ho provato la soluzione di avvio dello storyboard e sì, funziona ma non volevo aggiungere un nuovo file, quindi questo è quello che ho fatto per risolvere il problema:

  1. Ho copiato le mie immagini di avvio in un'altra cartella
  2. Rimosso l'asset LaunchImage esistente
  3. Aggiunto un nuovo asset LaunchImage
  4. Aggiunte le immagini alla nuova LaunchImage

Questo è tutto!


0

Vai alle impostazioni di destinazione in xcode in quella sezione vai alle icone delle app e avvia la sezione delle immagini in quella sezione seleziona il file della schermata di avvio troverai un menu a discesa di valori seleziona il valore CDVLaunchScreeen rispetto al valore del file della schermata di avvio


0

Ho avuto un problema simile su un iPod. Per risolvere questo problema, ho sostituito

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>

con

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>

in Info.plist.


-1

Non fare nulla di quanto descritto nelle risposte precedenti ...

Per mostrare il controller di visualizzazione segui il seguente singolo passaggio

Step 1 : Add the splash Screen for iPhone and iPad.

Dopo questo questo errore non si ripresenterà.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.