Je souhaite lire les informations sur la version d'Info.plist dans mon code, de préférence sous forme de chaîne. Comment puis-je faire ceci?Lire la version de Info.plist
Répondre
Vous pouvez lire votre Info.plist comme un dictionnaire avec
[[NSBundle mainBundle] infoDictionary]
Et vous pouvez facilement obtenir la version à la CFBundleVersion
cette façon clé.
Enfin, vous pouvez obtenir la version avec
NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
NSString* version = [infoDict objectForKey:@"CFBundleVersion"];
Je sais que peu de temps a passé depuis que la recherche et la réponse.
Depuis iOS8, la réponse acceptée peut ne pas fonctionner.
Ceci est la nouvelle façon de le faire maintenant: Maintenant
NSString *version = (__bridge id)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);
Avez-vous un lien vers pourquoi c'est ainsi? –
dans iOS 8, les deux champs sont nécessaires. Auparavant, il fonctionne sans le CFBundleShortVersionString
. Mais maintenant, il s'agit d'un champ obligatoire pour soumettre une application dans le magasin d'applications. Et kCFBundleVersionKey
est comparé pour télécharger chaque nouvelle construction, qui doit être dans l'ordre croissant. Spécialement pour les versions de TestFlight. Je le fais de cette façon,
NSString * version = nil;
version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
if (!version) {
version = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
}
Merci .. ** version = [[NSBundle mainBundle] objectForInfoDictionaryKey: @ "CFBundleShortVersionString"]; ** travaillé pour moi – swiftBoy
@RDC merci. –
pour les utilisateurs Swift:
if let version = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") {
print("version is : \(version)")
}
pour les utilisateurs swift3:
if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") {
print("version is : \(version)")
}
Swift 3:
let appBuildNumber = Bundle.main.infoDictionary!["CFBundleVersion"] as! String
let appVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
- 1. Comment lire la version Bundle de PList?
- 2. Appname-info.plist
- 3. Info.plist: La valeur de MinimumOSVersion est invalide
- 4. Xcode ne trouve pas Info.plist ou Prefix.pch lors de la création d'une version
- 5. MSBuild Tâche de lire la version de la DLL
- 6. IconFiles à info.plist
- 7. Comment récupérer Bundle Version dans une étiquette de projet test-Info.plist dans iphone?
- 8. Impossible de créer la clé UIBackgroundModes dans Info.plist pour iOS4
- 9. Référencement de $ HOME ou ~ dans Info.plist
- 10. La clé UIBackgroundModes n'apparaît pas dans la liste déroulante Info.plist
- 11. Où puis-je définir la version de mon application iPhone?
- 12. comment puis-je lire la version du fichier descripteur d'application
- 13. Comment lire la version du fichier .exe windows?
- 14. Saut DataContractSerializer OpenAccess Version de la version
- 15. Comment Xcode traite-t-il un Info.plist comme un iPhone/iPad Info.plist?
- 16. Le traitement du fichier Info.plist modifie l'exécutable
- 17. Application iPhone Propriété du langage Info.plist
- 18. Lire une version non .NET DLL de C#?
- 19. Obtenez tous les CFBundleTypeExtensions d'un Info.plist
- 20. clés UIKit manquantes dans le fichier Info.plist
- 21. Comment régénérer un fichier info.plist iPhone Xcode
- 22. call program et bash.sh from info.plist
- 23. Numéro de version Safari?
- 24. Version de la version de la CLI de PHP
- 25. Touche info.plist de MinimumOSVersionn? Itunes Connect invalide binaire
- 26. Comment lire la version/révision de fichier/répertoire à partir de l'arborescence SVN distante?
- 27. Erreur de version dans IPod
- 28. Obtention de la version
- 29. Comment modifier la version SDK de la version dans Xcode?
- 30. donne quelques captures d'écran pour créer la clé UIBackgroundModes dans Info.plist pour iOS4
Parfait. C'est beaucoup plus simple que toutes les lignes de fonctions CF * que j'utilisais ... J'étais sûr qu'il devait y avoir un moyen rapide d'obtenir le NSDictionary. – Stew
Pour le numéro de version, cela n'a pas d'importance, mais pour les autres clés, vous pouvez utiliser 'objectForInfoDictionaryKey:' à la place, car il renvoie la valeur localisée si disponible: '[[NSBundle mainBundle] objectForInfoDictionaryKey: @" CFBundleDisplayName "]' – Zargony
Notez dans Xcode4 que si vous regardez le panneau récapitulatif de la cible, vous verrez les champs Version et Construction. 'CFBundleVersion' a été modifié pour être Build et la version est' CFBundleShortVersionString'. – memmons