2011-07-17 3 views
3

bien, je viens de face avec le problème de la localisation sur mon projet et a décidé de faire une expérience pour révéler le problème:iOS application universelle localisation xcode 4. bug?

expérience:

  1. créer l'application iOS universelle;
  2. changez le texte sur les fenêtres principales de "mon application universelle d'iPhone (iPad)" à "bonjour" tous les deux pour les dossiers MainWindow_iPhone.xib et MainWindow_iPad.xib;
  3. construire et exécuter l'application dans les simulateurs iPhone et iPad - les deux affichant "Bonjour" message - tout va bien;
  4. ajouter la localisation espagnol pour MainWindow_iPhone.xib et MainWindow_iPad.xib (localisation anglais était déjà là)
  5. modifier le texte sur les fenêtres principales de « Bonjour » à « Hola » à la fois pour la version espagnole de MainWindow_iPhone.xib et MainWindow_iPad. fichiers xib;
  6. changer la langue dans le simulateur à l'espagnol;
  7. créer et exécuter l'application dans les simulateurs iPhone et iPad - les deux affichant toujours le message "Bonjour" - quoi?!?!?!

fix:

  1. propriétés du projet ouvert et allez à "construire des phases";
  2. en « copie » regrouper les ressources ajouter des fichiers XIB: localiser les fichiers MainWindow_iPhone.xib et MainWindow_iPad.xib dans es.lproj répertoire de projet et les ajouter
  3. Générez et exécutez l'application dans les simulateurs iPhone et iPad - à la fois l'affichage « Hola » message - OK

Eh bien, quelle conclusion puis-je faire? lors de l'ajout d'une nouvelle localisation au fichier xib, xcode oublie d'ajouter ce fichier pour copier les ressources de l'ensemble cible. donc après l'exécution de l'application sur une localisation différente (espagnol dans l'exemple) iOS ne peut pas trouver la localisation espagnole (bien sûr, Xcode a oublié de le copier !!!) et charger la version anglaise de xib.

L'ajout manuel de versions localisées de fichiers crée un désordre dans l'arborescence du projet - les fichiers ajoutés seront affichés dans la hiérarchie du projet, mais ils sont déjà affichés lorsque nous développons le fichier xib avec des localisations. (Dans l'exemple, nous avons MainWindow_iPhone.xib et MainWindow_iPad.xib dans l'arbre de la structure du projet, mais en même temps ils sont disponibles dans l'iPhone et des groupes de fichiers iPad après avoir développé localisé des fichiers MainWindow_iPhone.xib ou MainWindow_iPad.xib)

ou suis il me manque quelque chose de cruel?

+0

Nettoyer le projet. Réinitialiser le contenu du simulateur. – JoePasq

Répondre

0

Si vous ajoutez manuellement des ressources à Xcode, vous aurez souvent besoin de (K) pencher votre projet pour reconstruire les liens. Command-K devrait faire l'affaire.

Je ne me souviens pas avoir à le faire dans Xcode 3 et il peut déjà être corrigé dans la version ultérieure de Xcode 4.

Questions connexes