J'écris une application iPhone. Il a déjà été publié, mais je voudrais ajouter une fonctionnalité où son numéro de version est affiché.
Je préfère ne pas avoir à le faire manuellement avec chaque version que je publie ...
Existe-t-il un moyen dans l'objectif-C de savoir quelle est la version de mon application?
Réponses:
Comme je le décris ici , j'utilise un script pour réécrire un fichier d'en-tête avec mon numéro de révision Subversion actuel. Ce numéro de révision est stocké dans la constante kRevisionNumber. Je peux ensuite accéder au numéro de version et de révision en utilisant quelque chose de semblable au suivant:
qui va créer une chaîne au format "Version 1.0 (51)".
la source
CFBundleShortVersionString
ce que vous voudriez normalement pour la «version» et leCFBundleVersion
numéro de build.[NSString stringWithFormat:@"Version: %@ (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]]
En s'appuyant sur la réponse de Brad Larson, si vous avez des informations sur les versions principales et mineures stockées dans la liste d'informations (comme je l'ai fait pour un projet particulier), cela a bien fonctionné pour moi:
Maintenant, faire tourner une version mineure manuellement peut être difficile, et donc utiliser une astuce de numéro de révision du référentiel source est idéal. Si vous ne l'avez pas lié (comme je ne l'avais pas fait), l'extrait ci-dessus peut être utile. Il extrait également le nom d'affichage de l'application.
la source
Version Swift pour les deux séparément:
Swift 3
Swift 2
Son inclus dans ce dépôt, consultez-le:
https://github.com/goktugyil/EZSwiftExtensions
la source
C'est ce que j'ai fait dans ma candidature
Espérons que cette réponse simple aidera quelqu'un ...
la source
Vous pouvez spécifier la
CFBundleShortVersionString
chaîne dans votre plist.info et la lire par programme en utilisant l' API fournie .la source
Il y a deux choses - la version de construction et la version d'application.
Pour obtenir la version de l'application:
Pour obtenir la version Build:
la source
objectForInfoDictionaryKey:
au lieu deinfoDictionary] objectForKey:
car le premier retourne la valeur localisée (s'il y en a une). Cela ne fera probablement pas de différence ici;)la source
Une manière succincte d'obtenir une chaîne de version au format XYZ est:
Ou, pour juste XY:
Ces deux extraits renvoient des chaînes que vous affecteriez à la propriété de texte de votre objet d'étiquette, par exemple
la source
Vous pouvez essayer d'utiliser le dictionnaire comme: -
la source
Lisez le fichier info.plist de votre application et obtenez la valeur de la clé CFBundleShortVersionString. Lire info.plist vous donnera un objet NSDictionary
la source
Vous pouvez utiliser l'infoDictionary qui obtient les détails de la version de info.plist de votre application. Ce code fonctionne pour swift 3. Appelez simplement cette méthode et affichez la version dans n'importe quel élément d'interface utilisateur préféré.
la source
Swift 5:
Il y a deux choses - la version de l'application et la version de build
Pour obtenir la version de l'application:
Pour obtenir la version Build:
Merci
@Brad Larson♦
beaucoupla source
Si vous avez besoin d'une combinaison à la fois de version et de numéro de build , voici un bref moyen d'utiliser Swift 3 :
Ajoutez un
as! String
à la fin de la ligneappVersion
oubuildNum
pour n'obtenir que cette partie en tantString
qu'objet. Pas besoin de ça si vous cherchez le pleinversionInfo
.J'espère que ça aide!
la source
Basé sur la réponse @rajat chauhan sans transtypage forcé
String
.la source
C'est une bonne chose à gérer avec un système de contrôle des révisions. De cette façon, lorsque vous obtenez un rapport de bogue d'un utilisateur, vous pouvez vérifier cette révision de code et (espérons-le) reproduire le bogue en exécutant exactement le même code que l'utilisateur.
L'idée est que chaque fois que vous effectuez une génération, vous exécuterez un script qui obtient le numéro de révision actuel de votre code et met à jour un fichier dans votre projet (généralement avec une certaine forme de remplacement de jeton). Vous pouvez ensuite écrire une routine de gestion des erreurs qui inclut toujours le numéro de révision dans la sortie d'erreur, ou vous pouvez l'afficher sur une page "À propos".
la source
Vous pouvez essayer cette méthode:
la source