2017-08-20 1 views
0

J'ai quatre applications. Dans chacun d'eux, j'ai une icône "X" pour rejeter un contrôleur de vue. En 3 sur 4 applications, je peux le faire très bien:UIImage imageNamed donne zéro dans l'application A, mais pas les applications B, C, D

UIImage *xImage = [UIImage imageNamed: @"X.png"]; 

Mais dans 1 des applications, XImage est nul. Il n'y a pas d'erreurs ou d'avertissements. J'ai même essayé de compiler avec xcodebuild; pas d'erreurs ou d'avertissements.

J'ai fait 4 versions de cette image:

24 -rw-r--r-- 1 user staff 8.8K Jul 25 22:20 X.png 
24 -rw-r--r-- 1 user staff 12K Jul 25 22:20 [email protected] 
32 -rw-r--r-- 1 user staff 14K Jul 25 22:20 [email protected] 
40 -rw-r--r-- 1 user staff 19K Jul 25 22:20 [email protected] 

Avis qu'aucun d'entre eux ont le drapeau de quarantaine.

J'ai exécuté le shasum sur ces dossiers. Chaque application a exactement les mêmes fichiers.

Pourquoi est-ce que je peux aller chercher X.png dans 3 des 4 applications, mais pas le 1?

Merci pour tous les indices.

En outre, si j'en ai marre de ce non-sens, puis-je simplement utiliser [email protected] et iOS l'utilisera-t-il pour générer les autres?

+2

Vérifiez si l'image est X.png dans vos ressources de projet pour app1 –

+0

Vous devez donner plus d'informations sur la façon dont vous gérez vos ressources. Utilisez-vous xcasset? ou faites-vous simplement glisser et déposer au chef de projet? Et oui, il y a la dernière possibilité que vous n'avez pas besoin d'utiliser plusieurs images res - au lieu d'utiliser un seul graphique vectoriel. Recherche le sur Google. – GeneCode

+0

'[UIImage imageNamed:]' n'a pas besoin de l'extension de fichier si vous utilisez le catalogue d'actifs. Si l'image est dans votre projet et n'utilise pas le catalogue d'actifs, vous avez besoin de l'extension ainsi que de la résolution. – Brandon

Répondre

0

Il y a deux possibilités pour ne pas obtenir l'image:

1) Lorsque vous faites glisser l'image dans votre dossier de projet, vous pouvez oublier de vérifier marque Copie Si nécessaire l'option.

2) Sélectionnez votre image et vérifiez sur sa propriété que la case à cocher Target Membership est sélectionnée ou non.

3) Vérifiez s'il y a plusieurs images portant le même nom ou non.

For Target Membership