J'utilise le catalogue des actifs, et l'ajout d'une icône d'application de différentes tailles aux actifs est correct.
Mais lorsque j'ai essayé d'obtenir le programme UIImage par programme, il est revenu à zéro.
UIImage *appIcon = [UIImage imageNamed"AppIcon"];
L'icône de l'application est nommée AppIcon
(valeur par défaut) et les fichiers réels sont app-icon-256.png
etc.
J'ai également remarqué que contrairement aux images normales, les icônes d'application sont dans un ensemble "Icône d'application", dans le répertoire AppIcon.appiconset
. Les images normales sont dans le répertoire someimage.imageset
.
Le problème est que l'AppIcon du catalogue d'actifs n'est pas placé dans le catalogue après la compilation. Il a été copié dans votre bundle d'applications, comme auparavant.
La conversion de nom utilisée lors de la copie de l'icône dans le groupe d'applications est AppIcon<size>.png
, où la taille est par exemple 40x40
ou 72x72
Vous pouvez obtenir les icônes de vos applications en spécifiant la taille de l'icône de l'application que vous souhaitez:
UIImage *appIcon = [UIImage imageNamed:@"AppIcon40x40"];