关于[[NSBundle mainBundle] infoDictionary]里面的那些东西

在开发中, 假如我们设置启动页面的时候, 需要判读一下我们的应用是不是第一次启动,或者 是不是版本的升级。然而我们需要在程序中,通过

//获取当前版本号

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

    NSLog(@"%@",infoDic);

    NSString *currentAppVersion = infoDic[@"CFBundleShortVersionString"];


infoDic包含如下所有的信息:也就是我们的程序信息:

{


 BuildMachineOSBuild = 15C50;

    CFBundleDevelopmentRegion = en;

    CFBundleExecutable = ZYGLaunchIntroductionDemo;

    CFBundleIdentifier = "com.huaxinlongma.ZYGLaunchIntroductionDemo";

    CFBundleInfoDictionaryVersion = "6.0";

    CFBundleInfoPlistURL = "Info.plist -- file:///Users/lanouhn/Library/Developer/CoreSimulator/Devices/84454B75-C87C-4752-A24B-095EAAC00443/data/Containers/Bundle/Application/09AB9754-B19E-4F63-869B-B8D6C319EE85/ZYGLaunchIntroductionDemo.app/";

    CFBundleName = ZYGLaunchIntroductionDemo;

    CFBundleNumericVersion = 16809984;

    CFBundlePackageType = APPL;

    CFBundleShortVersionString = "1.0";

    CFBundleSignature = "????";

    CFBundleSupportedPlatforms =     (

        iPhoneSimulator

    );

    CFBundleVersion = 1;

    DTCompiler = "com.apple.compilers.llvm.clang.1_0";

    DTPlatformBuild = "";

    DTPlatformName = iphonesimulator;

    DTPlatformVersion = "9.2";

    DTSDKBuild = 13C75;

    DTSDKName = "iphonesimulator9.2";

    DTXcode = 0720;

    DTXcodeBuild = 7C68;

    LSRequiresIPhoneOS = 1;

    MinimumOSVersion = "8.1";

    UIDeviceFamily =     (

        1

    );

    UILaunchStoryboardName = LaunchScreen;

    UIRequiredDeviceCapabilities =     (

        armv7

    );

    UISupportedInterfaceOrientations =     (

        UIInterfaceOrientationPortrait,

        UIInterfaceOrientationLandscapeLeft,

        UIInterfaceOrientationLandscapeRight

    );

}

这些并不是我们在程序info.plist 看到的那些key 值。很多都是 以BF为key 来进行字典的存储。

 //获取上次启动应用保存的appVersion

    NSString *version = [[NSUserDefaults standardUserDefaults] objectForKey:kAppVersion];


从沙河中获取我们上次启动的版本号。当version = nil;  这时候 可以 判断是第一次登陆。假如

[version isEqualToString:currentAppVersion]; 这时候 来判断是不是一个版本号 进行相应的实现。

你可能感兴趣的:(版本)