Localizable.string introuvable sur mon device
BOnjour à tous,
J'ai un problème. J'ai dans le passé créée deux fichiers localizable.string un en français et un en anglais. Pendant la suite du développement j'ai été amené a supprimer le localisable en francais pour garder celui de l'anglais. Cependant je me suis rendu compte qu'en installant mon application sur mon device (en fr) le fichier localizable.string était toujours mon ancienne version fr. Pourtant le fichier fr n'existe plus dans xcode. J'ai alors supprimé le fichier fr dans mon finder.
Dès ce moment plus accès depuis mon device a aucun localizable (ni fr ni en). J'ai tout essayé ! J'ai recrée un localisation fr du fichier localizable.string. J'ai fait clean all targets j'ai compilé et recompilé quité Xcode etc. Mon application n'a plus accès aux variables localisable rien a faire. J'ai mis mon device en anglais et la ça ne fonctionne toujours pas...
Pourquoi?
J'ai un problème. J'ai dans le passé créée deux fichiers localizable.string un en français et un en anglais. Pendant la suite du développement j'ai été amené a supprimer le localisable en francais pour garder celui de l'anglais. Cependant je me suis rendu compte qu'en installant mon application sur mon device (en fr) le fichier localizable.string était toujours mon ancienne version fr. Pourtant le fichier fr n'existe plus dans xcode. J'ai alors supprimé le fichier fr dans mon finder.
Dès ce moment plus accès depuis mon device a aucun localizable (ni fr ni en). J'ai tout essayé ! J'ai recrée un localisation fr du fichier localizable.string. J'ai fait clean all targets j'ai compilé et recompilé quité Xcode etc. Mon application n'a plus accès aux variables localisable rien a faire. J'ai mis mon device en anglais et la ça ne fonctionne toujours pas...
Pourquoi?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
À moins d'un HFS+ case-sensitive, ça ne change pas grand chose...
• je détruis mon appli sur le device,
• je nettoie la target
• je change Localizable.strings en localizable.strings
Eh ben, cela ne marche plus.
?
Si je déclare un fichier de classe myView.h et que je fais #import "MyView.h" cela génère une erreur, pourquoi pas la même chose avec Localizable.strings ?
Sur le terminal, ls Ic* ne fait pas la même chose que ls ic*
Je ne vois pas ce que tu veux dire .. donc j'ai peut-être quelque chose à apprendre ?
Non justement, ça ne génère pas d'erreur ; que ça soit #import ou #include...
ça passe :P
C'est un bug, car " insensible à la casse " veut dire ce que ça veut dire
À tout niveau, "localizable.strings" et "Localizable.strings" devrait être exactement la même chose.
L'utilitaire "ls" semble sensible à la casse quand il y a une "*" ; mais tente :
Ceci dit XCode/InterfaceBuilder sont plus restrictifs, j'ai essayé un mini-projet avec une classe myView et en mettant une custom view de type MyView dans IB, cela coince.
Il semble donc plus sage de respecter la casse car il n'y a pas que le système de fichiers qui soit en cause dans le fonctionnement de XCode, et dans les intermédiaires plist and co.
Oui, au niveau des classes dans IB, c'est compréhensible... Mais pour le Localizable.strings, ça m'étonne ???
Normalement il construit le chemin avec le mainBundle -> /.../Contents/Ressources/English.plist/Localizable.strings
Et au moment où il ouvre le fichier pour le lire, que ça soit "l" ou "L" ne devrait rien changer.
Peut-être qu'il y a un test case-sensitive quelque part sur le nom des ressources ; va savoir :crackboom:-