Ho creato una semplice applicazione utilizzando Xcode 7 Beta 2. L'applicazione contiene semplicemente la classe MyAppDelegate
, MyViewController
, MyMain.storyBoard
e MyLaunchScreen.storyboard
. Dopo aver ricompilato l'applicazione con Xcode 7 Beta 4, viene visualizzato l'errore "Avvio schermate potrebbe non impostare nomi di classi personalizzati". Eventuali suggerimenti?XCode 7: schermate di avvio non possono impostare nomi di classi personalizzati
risposta
Si noti che la schermata di avvio non è un controller di visualizzazione completamente personalizzabile. Non è possibile specificare un nome di classe personalizzato nello storyboard e si aspetta che il sistema ti dia la possibilità di eseguire il codice in questa fase chiamando viewDidLoad. Ricorda, l'app non è ancora stata lanciata.
Vincoli schermo lancio
- Il sistema carica il file schermata di avvio prima di lanciare l'applicazione che crea alcuni vincoli su ciò che può contenere (alcune delle quali possono costringere di nuovo a file di immagini statiche):
- l'applicazione non è ancora caricato in modo che la gerarchia della vista non esiste e il sistema non può chiamare qualsiasi codice di impostazione del controller visualizzazione personalizzata si può avere in app (ad es viewDidLoad)
- è possibile utilizzare solo le classi UIKit standard, in modo da poter utilizzare UIView o UIViewController ma no t una sottoclasse personalizzata. Se si tenta di impostare una classe personalizzata si otterrà un errore di configurazione illegale in Xcode.
- Il file della schermata di avvio può utilizzare solo visualizzazioni UIKit di base come UIImageView e UILabel. Non è possibile utilizzare UIWebView.
- Se si utilizza uno storyboard, è possibile specificare più controller di visualizzazione ma esistono ancora alcune limitazioni. Ad esempio, è possibile incorporare i controller di visualizzazione in un controller di navigazione o barra delle linguette, ma classi di contenitori più complesse come UISplitViewController non funzionano (almeno non ancora).
- La localizzazione del file della schermata di avvio al momento non sembra avere alcun effetto. La localizzazione di base è sempre usata, quindi probabilmente vorrai evitare il testo sulla schermata di avvio.
- Non è possibile specificare diversi file di schermata di avvio per iPad e iPhone. Questo potrebbe essere un problema se si dispone di interfacce significativamente diverse per tali dispositivi, in quanto c'è solo molto che si può fare con il layout automatico e le classi di dimensioni.
Se si sta distribuendo su iOS 7, sarà comunque necessario includere i file di immagine di avvio statici. È possibile includere sia un file di schermata di avvio sia immagini di avvio statico. Dispositivi come l'iPhone 6 con iOS 8 userà il file della schermata di avvio mentre i dispositivi iOS 7 torneranno alle immagini di avvio.
Per maggiori dettagli clicca here
Passare attraverso la visualizzazione controller in Main.storyboard e assicurarsi che non si dispone di uno che è sia insieme ad una classe personalizzata:
e ha "è View controller iniziale" controllato:
È possibile eseguire solo l'uno o l'altro. In qualche modo ho avuto "Is Initial View Controller" ancora controllato per errore, e mi ci è voluto un po 'per cacciarlo!
Questa è una risposta semplice, ma qualcosa che ho fatto e non lo sapevo nemmeno. Penso che con iOS 7 ci sia ora una main.storyboard e una launchscreen.storyboard. Stavo involontariamente cercando di costruire il mio schermo funzionale iniziale sulla schermata di avvio screen.storyboard. Questo è un no no
Spero che questo aiuti e felice codifica!
Di recente ho creato un'app utilizzando la versione beta di Xcode 8 ma non ho potuto inviarla all'app store utilizzando il software beta. Ho avuto lo stesso messaggio di errore: "Le schermate di avvio non possono impostare nomi di classi personalizzati" e molti altri.
La mia soluzione: Vai a File Inspector dello storyboard principale e deseleziona l'opzione Usa come schermata di avvio. Semplice, vero? Spero che questo funzioni anche per te.
- 1. Le classi Xcode non possono "vedersi"
- 2. Caratteri Swift personalizzati Xcode 7
- 3. Acquisire schermate in Xcode
- 4. Xcode 7: -weak_library e -bitcode_bundle non possono essere utilizzati insieme
- 5. schermi lancio non possono fissare classnames personalizzati
- 6. Solo i segui personalizzati supportano i nomi delle classi prima di iOS 9.0
- 7. Come impostare un'immagine della schermata di avvio in Xcode
- 8. Attivatore di eventi personalizzati con nomi personalizzati
- 9. Dimensioni e nomi delle icone e avvio delle immagini in Xcode 5, ios 7
- 10. Classi di dimensioni Xcode
- 11. convertitori personalizzati non registrati in avvio primavera
- 12. Utilizzo di caratteri personalizzati con Xcode 6/iOS 8 Interface Builder Schermata di avvio
- 13. Umbraco 7 cookie personalizzati
- 14. xcode 7 Gli argomenti Type non possono essere applicati alla classe non parametrizzata
- 15. Quali classi non possono essere sottoclasse?
- 16. Xcode caratteri personalizzati non rivela in Storyboard
- 17. Dump dell'heap di avvio di Java 7 senza JDK installato
- 18. Xcode: utilizzo di caratteri personalizzati all'interno di Dynamic framework
- 19. Xcode 7 - Vincolo di spaziatura verticale
- 20. Passando nomi di classi di reagire componenti
- 21. Font personalizzati Xcode 4.3
- 22. Generazione di classi JAXB con nomi di classi personalizzate
- 23. descrizione e personalizzati NSObject riassunti in Xcode
- 24. Rendere più lungo l'immagine di avvio xcode
- 25. Xcode 7 - Come rimuovere ld: avvertimento: -read_only_relocs non possono essere utilizzate con x86_64
- 26. non possono impostare campo per com.sun.proxy $ Proxy
- 27. 'Google/Analytics.h' file non trovato - XCode 7
- 28. Xcode 7 - Alcuni follower non funzionano più
- 29. Xcode 7 non trova i file di intestazione dal framework
- 30. Xcode 7 UIWebView non carica l'url
trovato la soluzione: avevo bisogno di aprire il mio file di story board schermata di avvio e rimuovere la classe personalizzata nella finestra di ispezione identità. Non è più possibile utilizzare classi personalizzate per le schermate di avvio. – Awsed