Tali elementi nelle informazioni di creazione non sono disponibili per l'app creata. Sono segnaposto che potresti inserire nella tua app. Ciò che è nella tua app è qualsiasi cosa tu inserisca, ad esempio, nella cartella Risorse della tua app, come qualsiasi file di testo o plists, o una bella immagine del tuo ingegnere delle versioni.
Ora, è possibile inserire alcuni elementi nella finestra Informazioni build in un file info.plist, utilizzando identificatori speciali, come $ {VERSION_INFO_PREFIX} o altro token. I token sono disponibili se fai clic su uno degli elementi sul lato sinistro della finestra che hai incluso sopra. Ad esempio, fai clic sulla parola "Versione progetto corrente" e copia il token che vedi in basso, "CURRENT_PROJECT_VERSION". Quindi vai al tuo file Plist e aggiungi una voce. Dagli qualsiasi nome tu voglia o "Versione attuale del progetto". Incolla in $ {CURRENT_PROJECT_VERSION} sul lato destro. Ora quel valore è disponibile per te dalla tua app, a livello di programmazione. Ovviamente, qualcuno deve inserire quel valore nel posto appropriato nella finestra Informazioni build o altrove. Potrebbe essere più semplice gestire questo e campi come questo nel file info.plist. Dipende da te come ti piacerebbe gestire queste cose.
Ecco come ottenere informazioni sulla versione dal mio 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;
}
Penso che il controllo delle versioni includa l'aggiunta di repository e l'impostazione di SCM per il tuo progetto in XCode e probabilmente non è la versione che desideri (anche se potrei sbagliarmi). – Eimantas
Se si imposta il valore CFBundleVersion nel file plist su $ {CURRENT_PROJECT_VERSION}, verrà sostituito con quello che è nella versione corrente del progetto dalle impostazioni di costruzione. È quindi possibile utilizzare agvtool bump per incrementare il numero di build. – mjk
Inoltre, è possibile utilizzare 'CFString'' kCFBundleVersionKey' al posto della stringa hardhared '@" CFBundleVersion "', castato in 'NSString' se necessario come richiesto nel codice sopra. – trss