Xcode 7: modification de l'identifiant de lot du produit
Je suis la mise en place Jenkins pour automatiser le processus de génération. En particulier, pour mes besoins, j'aimerais être en mesure de définir différents bundle identifiants.
Je suis en utilisant Xcode Jenkins plugin pour définir l'identifiant de lot:
Le problème est que cela va changer l'identifiant de lot dans l'Info.fichier plist et dans MyTarget > Général > Identifiant de lot. Mais cela ne va pas changer l'identifiant de lot dans le Build Settings > Packaging > Produit Identifiant de lot.
La même chose se passe si je le fais manuellement.
J'ai créer un nouveau projet dans Xcode 7. Par défaut, les trois valeurs sont:
Lorsque je change la valeur dans la Info.plist
fichier comme ceci:
Les deux autres valeur sera:
La manière dont vous pouvez voir la valeur dans les Paramètres de construction n'est pas en train de changer. Si je suis dans Xcode-je changer cette valeur manuellement, mais si je suis en train de construire le projet dans Jenkins, c'est un bis problème.
Quelqu'un a rencontré le même problème? Comment lutter contre elle?
Merci!
- En rencontrant le même problème depuis aujourd'hui. J'utilise
plistbuddy
commande shell pour modifier l'identifiant de lot. Il modifie leinfo.plist
mais ne permet pas de modifier l'identifiant de lot à l'intérieur des paramètres de construction dans xCode. - Grand merci, ne le savais pas, il a du être changé en 3 endroits!
Vous devez vous connecter pour publier un commentaire.
Face au même problème.
La
PRODUCT_BUNDLE_IDENTIFIER
est une variable dans votreproject.pbxproj
fichier. Le changement que tout ce que vous voulez et il reflète à la fois dans votreInfo.plist
ainsi que les paramètres du projet.PRODUCT_BUNDLE_IDENTIFIER=$CB_APP_ID
à xcodebuild, droit?PRODUCT_BUNDLE_IDENTIFIER=$CB_APP_ID
àxcodebuild
de commande.PRODUCT_BUNDLE_IDENTIFIER=$CB_APP_ID
?Custom xcodebuild arguments
comme :PRODUCT_BUNDLE_IDENTIFIER = 'com.w.test'
mais il n'est pas de changer dans les paramètres de construction 🙁xcodebuild
argument.xcodebuild PRODUCT_BUNDLE_IDENTIFIER="com.w.test"
udit réponse est correct. La meilleure pratique consiste à plist set ID valeur $PRODUCT_BUNDLE_IDENTIFIER. Ensuite dans les Paramètres de construction, l'utilisation de différentes configurations(Debug, Release .etc) pour mettre en place les différents ID de lot par:
Vous n'avez pas besoin de xCode plugin pour modifier les id de lot, mais plus besoin de spécifier la configuration là.
Reportez-vous à cette pour une solution simple à remplacer $PRODUCT_BUNDLE_IDENTIFIER à l'aide de la commande du shell comme -
sed -i '' 's/com.example.oldbundleid/com.example.newbundleid/g' project.pbxproj
Vous pouvez passer vos variables en utilisant Jenkins/Shell.
Approche Alternative pour ce faire est d'utiliser mod-pbxproj.
python -m mod_pbxproj -b -af PRODUCT_BUNDLE_IDENTIFIER=com.example.newbundleid -rf PRODUCT_BUNDLE_IDENTIFIER=com.example.oldbundleid project.pbxproj All
//edit
Ancien id de lot peut être récupérée par
awk -F '=' '/PRODUCT_BUNDLE_IDENTIFIER/{print $2; exit}' project.pbxproj
Ceci peut être stocké dans une variable de chaîne et utilisé à la place de
com.example.oldbundleid
.pbxproj
à remplacer. @turingtestedPour xcode 8.x
Changement de nom de l'application dans le cadre des Objectifs > your_app_name - Info > ajout d'une nouvelle clé de propriété ne pas remplir les changements de nom de l'application partout tout au long du projet.
Lorsque vous faites cela, votre projet fonctionne bien dans votre mac seul (c'est à dire, dans le système que vous avez utilisé pour faire ces changements, comme l'ensemble de vos biens touches & identités seront enregistrées dans votre système). Lorsque vous essayez d'utiliser votre projet dans un autre système, vous obtiendrez cette erreur bizarre que votre projet est manquant si dans le cas de votre aide les gousses dans votre projet.
Ainsi, pour surmonter cela, il faut faire quelques modifications dans les paramètres de construction de la, laissant onglet Général, puis sur l'onglet Infos intacte.
Sous Cibles > paramètres de construction de la, faites défiler jusqu'à Emballage.
Changer votre nom du Produit le nom de votre choix & Produit identifiant de lot à la nouvelle. Une fois que vous faites cela, automatiquement votre projet d'affichage nom & id lot de changements pour la nouvelle dans l'onglet Général.
Vous pouvez également voir les données en texte clair en allant vers les Cibles et sélectionnez "Niveaux" qui permettra d'afficher une colonne, y compris l'Identifiant de lot.