2010-02-22 33 views
28

Supposons que j'ai une application iPhone dont le nom de produit est "Mon application" (avec un espace entre les mots) dans les paramètres de génération de code XCode. Dans mon info.plist, l'identificateur est spécifié comme Bundle com.mycompany.${PRODUCT_NAME:rfc1034identifier}Mise en forme de l'identifiant de groupe XCode à partir de {PRODUCT_NAME}

Dans le info.plist résultant dans le paquet de demande, l'identificateur de paquet est représenté comme com.mycompany.My-App. J'ai besoin d'être com.mycompany.MyApp. Comment puis-je modifier le paramètre Identifiant de l'ensemble afin qu'il convertisse le nom du produit comme je le souhaite?

ps. Si je change le ${PRODUCT_NAME:rfc1034identifier} en ${PRODUCT_NAME:identifier}, l'identificateur de faisceau résultant sera com.mycompany.My_App. J'ai juste besoin de supprimer complètement le caractère espace dans le nom du produit dans le résultat.

Répondre

43

Il suffit de taper?

dire au lieu de com.mycompany.${PRODUCT_NAME:rfc1034identifier} il suffit de taper com.mycompany.MyApp

Si vous avez plus d'une cible qui ont besoin des noms différents faisceaux, une façon de le faire est de créer votre propre variable et utiliser à la place.

Dans le menu Générer (sélectionnez votre projet et choisissez Lire les informations), vous pouvez ajouter vos propres variables au projet. Si vous en créez un appelé MY_BUNDLE_NAME et que vous le définissez sur MyApp, vous pouvez mettre com.mycompany.${MY_BUNDLE_NAME} dans le fichier plist. Vous devriez pouvoir définir MY_BUNDLE_NAME sur des valeurs différentes pour différentes cibles.

+2

Merci pour votre réponse, mais ma situation n'est pas aussi simple que cela! Bien sûr, vous avez compris ma question, mais ce que je n'ai pas dit, c'est que j'ai plusieurs "cibles" de la même application qui doivent avoir des identifiants de paquets différents. J'ai donc besoin de configurer dynamiquement l'identifiant du bundle en fonction des paramètres de construction de chacune de ces cibles. Par exemple, une cible peut avoir comme nom de produit "Mon App1" et une autre cible "Mon App2" comme nom de produit. C'est pourquoi je dois le faire de manière dynamique au lieu de coder en dur. – ravinsp

+1

Ah, ça a plus de sens! J'ai édité ma réponse; J'espère que c'est plus utile! – deanWombourne

+0

Merci doyen! cela serait fait pour moi et je peux voir que ces paramètres de construction définis par l'utilisateur me seront utiles dans d'autres endroits. Merci pour le conseil! – ravinsp

0

même id paquet devrait être mis sur Xcode et itunnes:

dans ce fichier $ toucher Info.plist

Bundle Identifier (App ID Suffixe) Entrez un identifiant unique pour votre ID App. La pratique recommandée consiste à utiliser une chaîne de style de nom de domaine inverse pour la partie identificateur d'ensemble de l'ID d'application.

Exemple: com.domainname.appname