web-dev-qa-db-fra.com

Comment obtenir votre propre version d'application à partir de xcode?

Je me demande s'il existe un moyen d'obtenir votre propre version d'application dans le code après l'avoir placée dans l'onglet "Résumé" de xCode. Une façon semble être de rechercher Info.plist pour CFBundleVersion, mais existe-t-il un autre moyen plus simple et plus pratique?

37
Valentin Radu

Vous pouvez le trouver dans le bundle principal. Je pense que c'est quelque chose comme:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
114
Chris Ledet

J'utilise généralement le numéro de build (CFBundleVersion) pour garder une trace du nombre de builds et le numéro de version (CFBundleShortVersionString) à des fins marketing. J'utilise un script d'exécution pour incrémenter automatiquement mon numéro de build et je mets à jour le numéro de version manuellement avant chaque nouvelle version. Donc, si vous souhaitez inclure le numéro de version réel dans votre code par opposition au numéro de version, utilisez ceci:

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

ou

[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

Voici le script d'exécution qui incrémente le numéro de build pour toute personne intéressée:

#!/bin/bash

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
28
Anthony
NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
12
Aravindhan

Pour Swift:

Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString")
3
bjd23