Je suis très frustré maintenant. J'ai mis à niveau Xcode vers la version 12 et testé mon application sur iOS 14. Maintenant, le problème est que mon écran de lancement s'affiche simplement en noir. Je l'ai testé avec un appareil iOS 13.5 et il fonctionne toujours comme prévu. J'ai essayé de supprimer l'approche launchscreen.storyboard et j'ai ajouté la clé de l'écran de lancement dans info.plist, mais l'image est ensuite redimensionnée à sa taille réelle.
Maintenant, j'ai testé un peu avec le launchscreen.storyboard et j'ai trouvé quelques choses.
Avez-vous rencontré des problèmes avec iOS 14 et l'approche storyboard?
Si oui, comment l'avez-vous résolu?
11 Réponses :
Un travail qui semble fonctionner pour moi:
Pour une raison étrange, si je réduis l'image, cela fonctionne bien . J'avais une image en taille réelle de 2732x2732 et cela n'a pas fonctionné. Réduire la dimension de la même image à 2400x2400 fonctionne correctement. J'ai essayé avec 2500x2500 et 2600x2600 mais aucun n'a fonctionné.
Plus important encore, chaque fois que je change l'image, je devais redémarrer le simulateur pour refléter l'image mise à jour.
Cela ne fonctionnait pas encore sur l'appareil réel. Comme le simulateur, j'ai dû redémarrer l'appareil et ensuite seulement cela a fonctionné.
Je ne sais pas si c'est quelque chose avec la dimension / taille de l'image ou avec le redémarrage.
Autres mises à jour:
J'ai téléchargé la même version (avec une image plus petite) sur TestFlight et l'ai installée sur mon appareil (essentiellement mise à jour à partir de la version précédente avec une image de grande taille) et malheureusement le problème a persisté :(
Maintenant, ce que j'ai fait, c'est désinstaller l'application et la réinstaller à partir de TestFlight. Le problème persistait.
Enfin, j'ai dû supprimer l'application , redémarrer mon appareil et réinstaller l'application . C'est à ce moment-là que ça a bien fonctionné.
Veuillez vous assurer que le «Mode contenu» d'UIImageView est correctement défini. Je l'ai réglé sur 'Aspect Fil' dans mon cas
Merci! Supprimez l'application, redémarrez l'appareil et réinstallez l'application! cela a fonctionné pour moi aussi
Merci pour moi, cela a à voir avec une image trop grande. Je l'ai changé en petite taille et cela a fonctionné!
J'ai trouvé que réduire les dimensions à 2400 n'était pas suffisant. Réduire la taille du fichier sous 1 Mo m'a aidé.
La seule solution de contournement qui fonctionne pour moi était d'ajouter les images en dehors Images.xcassets
dossier Images.xcassets
. Après avoir modifié cela et reconstruit l'application, cela a fonctionné comme prévu.
Un problème se produit sur iOS 14 ou XCode 12.
J'ai un problème similaire avec XCode12 / iOS14 et le projet React: le launchscreen.storyboard fonctionnait bien dans les versions précédentes. Depuis la mise à jour vers XCode12, il apparaît comme suit:
Si j'essaie d'utiliser le nouveau dictionnaire «Écran de lancement» dans Info.plist, j'ai les problèmes suivants (même chose dans une autre application Xamarin):
C'est juste complètement buggé depuis Xcode 12!
Oui, c'est le même comportement auquel je faisais face
Avait le même problème. Le problème était l'image .png utilisée dans le storyboard de l'écran de lancement. Cela a conduit à ce que tout l'écran de lancement soit noir.
Ce qui l'a corrigé dans notre cas était:
J'ai trouvé que l'image était la source d'erreur en remplaçant l'image par une autre dans notre application. Cela a immédiatement fonctionné avec une image différente (aucun redémarrage ou autre requis).
J'avais ça aussi. Assez exaspérant. Mon écran de lancement est simplement une image d'arrière-plan (2048x2048 PNG) et un graphique (2048x2048 PNG) au milieu.
Le correctif pour moi était d'avoir un graphique central plus petit (720x720 PNG), de supprimer les images de tous les catalogues d'actifs et de les ajouter au projet.
Les images ne s'affichaient pas sur le simulateur jusqu'à ce que je l'ai redémarré. Une fois construit et installé sur mon iPhone, je n'ai pas eu à le redémarrer.
Essayez ma solution, cela fonctionne très bien pour moi.
Allez dans Xcode -> Préférences -> Emplacements.
Appuyez sur la petite flèche, regardez l'image ci-dessous pour ouvrir le répertoire Xcode dans le Finder:
Quitter Xcode
Ouvrez le dossier «iOS DeviceSupport» dans le dossier du répertoire Xcode que vous avez ouvert précédemment:
Je l'exécute sur:
N'a rien fait même si la suppression des caches est une bonne piste
Voici donc beaucoup de bonnes idées, mais j'ai finalement réussi à résoudre le problème - cela ressemble plus à une solution de contournement. J'avais besoin de stocker l'image en dehors du dossier Images.xcassets, puis cela a recommencé à fonctionner. C'est un problème très étrange.
Cela a fonctionné pour moi. Cette solution a cependant l'inconvénient qu'il n'est plus possible de définir une image différente pour le mode sombre et clair (le logo de mon application a deux tons de couleur légèrement différents pour le fond clair et foncé).
J'ai donc eu ce bug avec Apple via leur système de feedback depuis le 26 juin 2020 - FB7795777.
J'ai fourni mon projet et de nombreux rapports de diagnostic et ils ne sont jamais revenus avec un correctif.
Cependant, aujourd'hui, je l'ai réparé.
Fondamentalement, il y a eu quelques changements dans le SDK iOS / iPadOS sur la façon dont il prend en charge les fichiers .PNG et .JPG (la taille ou les dimensions sont les problèmes que je pense) dans le processus de l'écran de lancement.
La solution:
Ouvrez votre fichier .PNG dans Photoshop et réexportez-le avec l'option «Petit fichier - 8 bits» cochée. Il l'a réduit à moins de la moitié de sa taille et cela a fonctionné du premier coup.
Dans mon cas, ce qui suit a fait le travail: -
Supprimez le fichier d'écran de lancement de Projet -> Général -> Icônes d'application et Image de lancement -> Fichier d'écran de lancement.
Accédez au fichier info.plist et ouvrez-le en tant que code source.
Ajoutez-y le code suivant et changez le nom de l'image: -
<key>UILaunchScreen</key> <dict> <key>UIImageName</key> <string>splash(This is your image name)</string> </dict>
Dans iOS 14, cette nouvelle clé a été publiée (UILaunchScreen). Alors faites attention la prochaine fois. Si vous obtenez une erreur, vérifiez le fichier info.plist.
Bon codage :)
Malheureusement, cela ne fonctionne pas bien. L'image est étirée et il n'y a aucun moyen de spécifier une représentation alternative
J'ai rencontré ce problème
lors de l'utilisation de LaunchScreen.storyboard et de l'image sur Assets.xcassets, ne fonctionnant pas sur iOS 14 avec Xcode 12.
Je l'ai résolu en essayant de changer l'image 3x 2436 × 1125 et de définir l'image 2x 828 × 1792.
Enfin, j'ai dû supprimer l'application, redémarrer mon appareil et réinstaller l'application. C'est à ce moment-là que ça a bien fonctionné.
Quelques conseils car c'est votre premier message. 1) Assurez-vous que votre réponse ressemble à une réponse. Commencer par une phrase comme "J'ai le même problème" ne semble pas être une réponse. Essayez d'être plus sûr de vous, par exemple "J'ai rencontré ce problème quand ... je l'ai résolu par ..." 2) N'ajoutez pas à votre réponse dans les commentaires. modifiez plutôt votre réponse.
@DavidBuck C'est très utile pour moi. Merci beaucoup.
Cela peut aider les autres alors je l'ajoute ici.
J'utilise Cordova pour mon application hybride, puis je charge mes actifs d'image générés par Asset Catalog Creator (qui est un excellent petit produit).
Cela fonctionnait parfaitement jusqu'à ce que je mette à jour vers Xcode 12 et que j'essaye de l'exécuter sous iOS 14.
Ce que j'ai découvert, c'est que Cordova ajoutait un "CDVLaunchScreen.storyboard", et qu'ils avaient un "LaunchStoryboard.imageset" (répertoire) dans leur catalogue d'actifs, qui ne contenait qu'un fichier contents.json.
Je l'ai simplement copié dans mon catalogue d'actifs, et lorsque je fais un glisser-déposer dans mon projet mis à jour (nouvellement généré à chaque fois par Cordova), mon image de lancement s'affiche à nouveau.
Ne me demandez pas comment ou pourquoi Xcode connecte par magie ces choses, mais cela a fonctionné pour moi.
Je peux transmettre le contents.json qui a fonctionné avec mon catalogue d'actifs si cela peut aider.
BTW, mon écran de paramètres généraux n'a PAS de fichier d'écran de lancement sélectionné, mais Xcode semble trouver les fichiers requis.
avait un problème similaire et renommer l'image de LaunchImage.jpg en SplashImage.jpg a résolu le problème, du moins pour le moment
Nous sommes confrontés au même problème. Mais cela arrive aussi à nos versions avec le SDK iOS 13 sur iOS 14.