iphone - Lire la version de Info.plist




objective-c cocoa-touch (4)

Je sais que quelque temps s'est écoulé depuis la quête et la réponse.

Depuis iOS8, la réponse acceptée pourrait ne pas fonctionner.

C'est la nouvelle façon de le faire maintenant:

NSString *version = (__bridge id)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleVersionKey);

Je veux lire les informations de la version bundle de Info.plist dans mon code, de préférence sous forme de chaîne. Comment puis-je faire ceci?


Maintenant, dans iOS 8, les deux champs sont nécessaires. Auparavant, cela fonctionnait sans 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 incrémentiel. 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];
    }

pour les utilisateurs de Swift:

if let version = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") {
    print("version is : \(version)")
}

pour les utilisateurs de 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






info.plist