2016-10-27 2 views
2

Actuellement j'ai un projet avec beaucoup d'objectifs et chacun d'eux a son propre fichier « info.plist » avec son propre nom spécifié dans les paramètres:Localise le fichier info.plist dont le nom est différent?

Build Settings >> Packaging >> Info.plist File 

Yes, I have read some topics similar to this one. Il fonctionne quand je « Info.plist "fichier avec ce nom exact (bien sûr, je ne peux pas avoir ~ 10 fichiers avec le même nom pour certaines raisons).

Comment résoudre ce problème?

Répondre

1

J'ai fait face au même problème aujourd'hui et il m'a fallu presque une journée entière pour le réparer. J'ai lu beaucoup de questions liées à cela sur stackoverflow et découvert que quel que soit le nom que vous donnez votre fichier Info.Plist (disons InfoTarget1.plist), quand il est construit, il est converti en standard "Info.plist" à l'intérieur du produit. Etonnamment, cela ne se produit pas pour le fichier InfoPlist.strings correspondant (avec un nom personnalisé, disons, InfoTarget1Plist.strings).

Il suffit de créer une chaîne InfoPlist.strings et de la localiser pour les langues requises. Cela a fonctionné pour moi puisque je voulais seulement localiser 'NSLocationAlwaysUsageDescription' pour toutes les cibles.

Par conséquent, si vous avez seulement des champs communs parmi vos fichiers plist que vous souhaitez localiser, vous pouvez suivre la même approche que ci-dessous:

  1. Créer un nouveau fichier InfoPlist.strings dans votre dossier où .plist sont sauvés.
  2. Ajoutez les paires clé-valeur à localiser.
  3. Localisez ce fichier à partir de File Inspector sur le côté droit de votre xcode.
  4. Il vous sera demandé de déplacer votre fichier InfoPlist.strings actuel, sélectionnez 'Base' dans le menu déroulant.
  5. Sélectionnez les autres langues que vous souhaitez localiser dans l'inspecteur de fichiers, en supposant que vous ayez déjà ajouté ces langues dans la localisation de votre projet à partir de l'onglet Info.
  6. Mettez à jour les valeurs localisées dans les fichiers correspondants.

Nettoyez et exécutez votre application. Cela devrait le faire!