Verziószám mentése ( vendég blogger )

XCode AppleMivel időm semmi az-az nulla, így megkértem Albit , hogy írjon pár cikket mivel már segítette az oldal olvasóit és készséggel segíti ki ha valaki elakad valamiben! Nézzük a cikkét:

Az alkalmazásunk aktuális verzió és build megjelenítése a Setting.bundle-ben. Ha szeretnénk egy kis információt megjeleníteni a programunkról pl. a verzió számról akkor van több féle módja is a megjelenítésére, használhatjuk a setting.bundle-t ami a készülék Beállítások alkalmazásában található vagy csak simán  egy  ViewControllerben  egy Labelben megjelenítve.

Akkor kezdjünk is hozzá.

A projectnél válasszuk a New File és baloldalt a Resource-t kiválasztva adjuk hozzáa Settings Bundle-t.

Adjuk hozzá a következő sorokat az AppDelegate.m fájlba:

– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

// Override point for customization after application launch.

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

// NSString *name = [infoDictionary objectForKey:@”CFBundleDisplayName”];

NSString *version = [infoDictionary objectForKey:@”CFBundleShortVersionString”];

NSString *build = [infoDictionary objectForKey:@”CFBundleVersion”];

NSString *label = [NSString stringWithFormat:@”%@ (%@)”,version,build];

[[NSUserDefaults standardUserDefaults] setObject:label forKey:@”bundleVersionKey”];

return YES;

}

verzio1
Menjünk a ViewControllerbe.h fáljba és adjunk hozzá egy labelt.

@property (weak, nonatomic) IBOutlet UILabel *verziolabel; //hozzáadva
verzio2

Mehetünk az .m fájlba és a viewdidload részbe írjuk be  a következő sorokat.
verzio3

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

NSString *version = [infoDictionary objectForKey:@”CFBundleShortVersionString”];

NSString *build = [infoDictionary objectForKey:@”CFBundleVersion”];

NSString *label = [NSString stringWithFormat:@”%@ Build (%@)”,version,build];

[[NSUserDefaults standardUserDefaults] setObject:label forKey:@”bundleVersionKey”];

[verziolabel setText:[NSString stringWithFormat:@”v%@”, label ]];

verziolabel.backgroundColor = [UIColor clearColor];

verziolabel.textColor = [UIColor colorWithWhite:0.009 alpha:1.000];

verziolabel.font = [UIFont fontWithName:@”Helvetica-BoldOblique” size:17.0];

verziolabel.textAlignment = NSTextAlignmentCenter;

ebben van egy kis szöveg formázás is de tetszőlegesen alakítható vagy kivehető.

Ha ez megvan akkor a Storyboardban adjunk hozzá egy labelt és kössük össze a kivezetéssel.Kész is vagyunk vele, futtasuk a programunkat és látjuk a verziószámot és a Build számot is a ViewControllerben, és a Beállítások app-ban is megjelent az app. nevére kattintva.Na de mi van akkor ha új verziót adunk ki vagy újra futtasuk a programot az Xcode-al akkor növekednie kellene a verzió vagy a build számnak és kézzel mindig állítgatni a buildot az nem annyira kényelmes

Az automata Build szám növelésére adjunk egy scriptet hozzá a projecthez.

Menjünk a Build Phases fülre és válaszuk ki az Add Build Phase gombot alul és válasszuk az Add Run Scriptet. Helyezzük be az alábbi sorokat a Script-be.

verzio4

#!/bin/bash

buildNumber=$(/usr/libexec/PlistBuddy -c “Print CFBundleVersion” “$INFOPLIST_FILE”)

buildNumber=`echo $buildNumber +1|bc`

/usr/libexec/PlistBuddy -c “Set :CFBundleVersion $buildNumber” “$INFOPLIST_FILE”

Ha megvan akkor futtassuk a programot és látni fogjuk, hogy a buld szám automatikusan növekedik.
Anyag letölthető itt !!
Köszönet a cikkért Parti Albert barátunknak !

Hozzászólás

Kategória: Források

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Google kép

Hozzászólhat a Google felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s