2011-08-30 10 views
5

Uno dei prerequisiti di Xcode è l'impostazione delle immagini "Predefinito" e "Predefinito @ 2x" per il caricamento dell'app per iPhone.Generazione di una schermata predefinita casuale su iOS

È possibile avere un numero di schermate predefinite create, inserite nel progetto in formato png e ogni volta che l'app viene caricata, scegliere una schermata predefinita casuale da utilizzare?

+2

Suggerirei una domanda più specifica: è possibile in fase di runtime modificare l'immagine predefinita? Se è quindi possibile aggiungere casualità è banale e includerlo nella domanda rende solo più difficile rispondere. –

+0

Apprezzo che stai trollando la domanda. Tuttavia, le risposte di seguito si sono rivelate soddisfacenti. Grazie –

+0

E 'stato solo inteso come un consiglio amichevole - Mi scuso se sono venuto fuori come distaccato. Ho appena scoperto che in genere, ponendo la domanda più semplice possibile si ottengono risposte migliori e migliori, poiché è più facile per gli altri capire cosa stai chiedendo (mi aspettavo qualcosa di diverso in base al titolo). –

risposta

8

Non è possibile modificare Default.png. Una volta spedita l'app, è "scolpita nella pietra". Fino alla prossima versione, cioè. Il motivo è semplice (e lo stesso motivo per cui non è possibile modificare l'icona delle app). Il pacchetto dell'app è di sola lettura. È stato letto solo perché è firmato da te e da Apple. La modifica del contenuto del pacchetto invaliderebbe la firma.

+0

Grazie per la risposta Eimantas, lo sospettavo. Ho appena avuto una buona idea per la mia prossima app, ma la implementerò con diversi mezzi. Grazie ancora. –

1

Non c'è modo di cambiare la schermata di avvio senza ricostruire l'app. Il suo nome è hardcoded in info plist o è impostato sul valore predefinito di "Default.png" se non è stato impostato nulla nel plist.

Poiché il file di immagine e il file plist si trovano all'interno del pacchetto dell'app che è firmato digitalmente, anche se è possibile modificarne uno (non è possibile in quanto è di sola lettura), la firma dell'app verrà invalidata e verrà arrestata in modo anomalo - dispositivi jailbroken.

7

È possibile modificare la schermata predefinita in iOS (almeno dopo il primo avvio) impostando la proprietà UILaunchImageFile nel file info.plist e quindi scrivendo una nuova immagine nella cartella Documenti.

es.

<key>UILaunchImageFile</key> 
<string>../Documents/NewDefault.png</string> 

quindi scrivi il tuo splash a /Documents/NewDefault.png.


Sembra che devo essere più prescrittiva ... Non sto suggerendo di modificare qualcosa nel tuo pacco applicazione in fase di esecuzione, come si è detto, che non può verificarsi.

Ma poiché la cartella /Documents si trova accanto alla cartella .app, è possibile impostare lo UILaunchImageFile tramite un percorso relativo e quindi inserire un file nel percorso specificato al momento dell'esecuzione dell'app. Abbiamo fatto questo, e funziona, quindi prima di votare, provalo tu stesso.

+1

È provato e verificato? Da quello che so, questo file (info.plist) è ANCORA in sola lettura. – Jann

+0

Sì, lo abbiamo fatto. Non stai scrivendo su info.plist, stai scrivendo nella cartella Documenti. –

+0

come è possibile "" "sovrascrivere la proprietà UILaunchImageFile nel file info.plist" "" senza scrivere in info.plist? – dklt

Problemi correlati