Ces éléments des Infos de construction ne sont pas disponibles dans votre application intégrée. Ils sont des espaces réservés que vous pourriez éventuellement tirer dans votre application. Ce qui se trouve dans votre application est tout ce que vous placez, disons, dans le dossier Ressources de votre application, comme n'importe quel fichier texte ou pliste, ou une belle image de votre ingénieur de version.
Maintenant, vous pouvez extraire certains des éléments de la fenêtre Infos de construction dans info.plist, en utilisant des identifiants spéciaux, tels que $ {VERSION_INFO_PREFIX} ou un autre jeton. Les jetons sont disponibles si vous cliquez sur l'un des éléments sur le côté gauche dans la fenêtre que vous avez incluse ci-dessus. Par exemple, cliquez sur le mot "Current Project Version" et copiez le jeton que vous voyez en bas, "CURRENT_PROJECT_VERSION". Ensuite, allez dans votre fichier plist, et ajoutez une entrée. Donnez-lui le nom que vous voulez ou "Version actuelle du projet". Collez $ {CURRENT_PROJECT_VERSION} sur le côté droit. Maintenant, cette valeur est disponible pour vous depuis votre application, par programme. Bien sûr, quelqu'un doit maintenant entrer cette valeur dans l'endroit approprié, soit dans la fenêtre Build Info, soit ailleurs. Il pourrait être plus simple de gérer ceci et des champs comme celui-ci dans le fichier info.plist. C'est à vous de décider comment vous voulez gérer ces choses.
Voici comment je Informez-vous sur la version de mon info.plist:
+ (NSString *) getAppVersionNumber;
{
NSString *myVersion,
*buildNum,
*versText;
myVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
buildNum = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleVersionKey];
if (myVersion) {
if (buildNum)
versText = [NSString stringWithFormat:@"Version: %@ (%@)", myVersion, buildNum];
else
versText = [NSString stringWithFormat:@"Version: %@", myVersion];
}
else if (buildNum)
versText = [NSString stringWithFormat:@"Version: %@", buildNum];
NSLog(versText);
return versText;
}
Je pense que le versionnage inclut l'ajout de référentiels et la configuration de SCM pour votre projet en XCode et ce n'est probablement pas la version que vous voulez (bien que je puisse me tromper). – Eimantas
Si vous définissez la valeur CFBundleVersion dans votre fichier plist sur $ {CURRENT_PROJECT_VERSION}, elle sera remplacée par les paramètres de construction de la version actuelle du projet. Vous pouvez ensuite utiliser agvtool bump pour incrémenter le numéro de build. – mjk
De plus, le 'CFString'' kCFBundleVersionKey' pourrait être utilisé à la place de la chaîne codée en dur '@" CFBundleVersion "', converti en 'NSString' si nécessaire, comme cela serait requis dans le code ci-dessus. – trss