Changer l'identifiant du bundle dans Xcode lors de la soumission de ma première application dans IOS

97

J'essaye de soumettre ma première application dans iOS. Je suis entré iOS Provisioning Portalet je suis sur le point de créer un identifiant d'application.

Disons que je nomme l'identifiant de mon bundle:

com.mycompany.appdemo

Ensuite, allez dans Xcode et dans la section récapitulative, je veux changer l'identifiant du bundle.

Mais je ne peux pas effacer ce qui y est écrit, seulement le début. Le nom de mon application est de couleur grise et je ne peux ni le supprimer ni le modifier.

Je vois donc en gris quelque chose comme ça App-Demoqui est le nom du projet sur le côté gauche.

Ma question est la suivante: est-ce un problème? Dois-je créer un nouvel identifiant d'application nommé com.mycompany.App-Demoou autre chose?

Voici également une photo. entrez la description de l'image ici Comme vous pouvez le voir, je ne peux éditer que la première partie.

cavalier fantôme
la source
2
La question et la réponse sont obsolètes
Ian S
1
Probablement oui puisque la question a été posée il y a plus de 5 ans.
ghostrider

Réponses:

158

Par défaut, Xcode définit l'identifiant du bundle sur l'identifiant du bundle / de la société que vous avez défini lors de la création du projet + le nom du projet.

Création de projet - Bundle / identifiant de l'entreprise + nom du produit

Ceci est similaire à ce que vous voyez dans l'écran Projet> Résumé.

Projet> Résumé

Mais vous pouvez changer cela dans l'écran Projet> Info. (Ceci est le Info.plist.)

Projet> Info

neilvillareal
la source
8
note importante, vous devrez peut-être nettoyer et reconstruire après avoir changé l'identifiant
Claudiu
3
Notez également que lorsque j'ai fait cela, le chemin d'accès à mon fichier de données de base a apparemment changé (doit-il être fonction du nom du bundle?) Ainsi, la prochaine exécution de l'application s'est retrouvée sans fichier de données de base.
Gallymon
Merci beaucoup. Je n'aurais jamais deviné qu'il est possible de changer l'identifiant du Bundle directement dans Info.plist.
Avinash Meetoo
@neilvillareal il semble le changer, mais en fait il ne le change pas. Je l'ai remarqué après avoir configuré un profil de provisionnement de distribution dans developer.apple.com, puis lorsque j'ai essayé de l'importer, il a été indiqué que le "profil de provisionnement" Mrev "a l'ID d'application" com.vividapartmentsteam.Mrev ", ce qui n'est pas le cas correspond à l'ID du bundle "com.vividapartments.Mrev". " Je dois dire que j'utilise des cosses de cacao et si vous cliquez avec le bouton droit sur Mrev.Xcworspace, Afficher le contenu du paquet, cliquez avec le bouton droit sur project.xcworkspace, ouvrez avec Sublime, vous ne verrez aucun changement sous PRODUCT_BUNDLE_IDENTIFIER ou Organisation.
bibscy
Je veux dire, si j'ouvre Mrev.xcodeproj, j'ai fait une faute de frappe ci-dessus et j'ai dit xcworkspace au lieu de .xcodeproj
bibscy
23

Je sais que c'est tard, mais cela pourrait être utile pour les personnes qui ont besoin de changer l'identifiant de bundle de l'application. Dans le Finder, accédez au dossier du projet:

the project file --> Right click on your project file '*.xcodeproj' 

entrez la description de l'image ici

--> choose 'Show Package Contents' 
--> Double click to open 'project.pbxproj' file 

entrez la description de l'image ici

--> find 'productName = NAME_YOU_WANT_TO_CHANGE' in the 
    '/* Begin PBXNativeTarget section */'

La variable $ {PRODUCT_NAME: rfc1034identifier} sera remplacée par le nom que vous avez entré et le nouvel identifiant de bundle sera mis à jour pour correspondre à ce dont vous avez besoin.

Marcin S.
la source
11

Voici la réponse de la documentation officielle d'Apple, juste essayée, ça marche.

Définition de l'ID du bundle

L'ID de bundle par défaut dans votre projet Xcode est une chaîne formatée comme un domaine inversé, par exemple, com.MyCompany.MyProductName . Pour créer l'ID de bundle par défaut, Xcode concatène l'identifiant de l'entreprise avec le nom du produit que vous avez entré lors de la création du projet à partir d'un modèle, comme décrit dans Définition des propriétés lors de la création de votre projet Xcode . (Xcode remplace les espaces dans le nom du produit pour créer l'ID de bundle par défaut.) Il peut suffire de remplacer le préfixe d'identifiant de l'entreprise dans l'ID de bundle ou vous pouvez remplacer l'ID de bundle dans son intégralité. Par exemple, modifiez le préfixe de l'identifiant de l'entreprise pour qu'il corresponde au nom de domaine de votre entreprise ou remplacez l'intégralité de l'ID de groupe pour correspondre à un ID d'application explicite.

Pour les applications Mac, assurez-vous que chaque ID de bundle est unique dans votre bundle d'applications. Par exemple, si votre offre groupée comprend une application d'assistance, assurez-vous que son ID groupé est différent de l'ID groupé de votre application.

Suivez ces étapes pour modifier le préfixe d'ID de bundle dans le volet Général de l'éditeur de projet.

Pour définir le préfixe d'ID de groupe

  1. Dans le navigateur de projet, sélectionnez le projet et votre cible pour afficher l'éditeur de projet.

  2. Cliquez sur Général et, si nécessaire, cliquez sur le triangle d'affichage en regard de Identité pour afficher les paramètres.

entrez la description de l'image ici

  1. Entrez le préfixe de l'ID du bundle dans le champ «Bundle Identifier».

Pour définir l'ID du groupe

  1. Dans le navigateur de projet, sélectionnez le projet et votre cible pour afficher l'éditeur de projet.

  2. Cliquez sur Info.

  3. Saisissez l'ID du bundle dans la colonne Value de la ligne "Bundle identifier".

entrez la description de l'image ici

Si vous souhaitez en savoir plus, consultez le guide de distribution des applications d'Apple.

Scott Zhu
la source
OP demandait comment changer le nom du projet. Les étapes ci-dessus concernent la mise en place d'un projet.
elliotrock
10

Modifiez simplement le nom du produit dans les paramètres de construction de votre projet. Cela changera l'identifiant du bundle sans avoir besoin de toucher manuellement les fichiers de configuration xcode.

Alexey Podlasov
la source
9

Modifiez simplement le nom du projet par un simple clic sur le haut de la fenêtre du navigateur de projet, cela fonctionnera dans ce cas. Vous n'avez pas besoin d'essayer autre chose. :)

Vinay Nishad
la source
Je dois juste ajouter que j'ai dû supprimer et rajouter le schéma de construction pour qu'il reflète le nouveau nom après cela.
JoeGalind
5

Cela résout mon problème.

Modifiez simplement l' identifiant du bundle dans Build Setting.

 Navigate to Project >> Build Setting >> Product Bundle Identifier 
Suraj Sonawane
la source
3

En fait, vous pouvez le modifier dans les paramètres de construction ; en bas, il y a une section " Défini par l'utilisateur " où vous pouvez facilement changer PRODUCT_BUNDLE_IDENTIFIER.

Je préfère cette façon, car si vous modifiez la variable info, vous modifiez la référence à l'autre valeur.

entrez la description de l'image ici

htafoya
la source
2

Une solution très simple à cela consiste à ouvrir le fichier:

YOURPROJECT.xcodeproj/project.pbxproj

Et trouvez pour cette variable:

PRODUCT_BUNDLE_IDENTIFIER

Vous verrez quelque chose comme ça:

PRODUCT_BUNDLE_IDENTIFIER = com.YOUR_APP_NAME.SOMETHING;

Ainsi, le nom sur la droite est votre identifiant de bundle. Dans mon cas, cela fonctionne parfaitement.

Ruhanbidart
la source
S'il s'agit d'un projet Flutter, parfois la valeur peut être à plusieurs endroits dans le même fichier, assurez-vous de changer la valeur à tous les endroits correspondants
Riswan
0

Dans XCode 7, vous pouvez mettre à jour votre identifiant de bundle en double-cliquant sur votre cible et en changeant le nom. entrez la description de l'image ici

leenyburger
la source
0

Xcode 7

Sélectionnez le nœud racine de votre projet -> Dans l'éditeur, cliquez sur le nom du projet -> Sélectionnez les cibles -> Identité -> Identifiant du bundle

Kreker
la source
0

Si vous développez une application cordova, assurez - vous de changer la version et l' identificateur paquet dans le config.xmlmême

David Schumann
la source