• iOS 应用首次开启 出现引导页面


    关于引导页面 ,可以是独立的一个视图控制器控制的滚动视图。

    重点是处理 如何判断app是首次开启 而调用这个视图控制器得方法。

    逻辑如下:

    -(BOOL)isFirstLoad
    {
        if(!标记第一次开启得文件存在)//不存在
        {
            //创建这个标记文件;
            
            return YES;
        }
        else
        {
            return NO;
        }
    }

    实现写了一个类方法如下

    + (BOOL) isFirstLaunchForSwipeView {
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        if (!documentsDirectory) {
            return NO;
        }
        NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"firstlaunch.plist"];
        // 文件目录存在检查
        if(![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
            NSError *error;
            BOOL result = [[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];
            if (!result) {
                return NO;
            }
        }
        else {
            return NO;
        }
        return YES;
    }
    //////////////调用得时候我是这么操作的。
     if ([类方法名 isFirstLaunchForSwipeView] )
    {
    //创建引导图的方法 self.swipePageCtl
    =[[POPSwipePageController alloc] init]; [self.window addSubview:self.swipePageCtl.view]; }
    
    

    网上有好多,但是自己的就很好了。

    下边备注一个网上的方法和链接  备注:谷歌很强大

    http://iphonedevsdk.com/forum/iphone-sdk-development/102179-check-first-use.html

    在didFinishLaunchingWithOptions方法中加入如下代码:
    if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]){
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
            NSLog(@"第一次启动");
        }else{
            NSLog(@"已经不是第一次启动了");
        }
    
    现在的APP中流行在程序第一次启动时显示一些新手引导页面,下面的代码可用于判断此APP是否第一次启动,或升级后的第一次启动。
    
    
    #define LAST_RUN_VERSION_KEY        @"last_run_version_of_application"
    - (BOOL) isFirstLoad{
         NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary]
             objectForKey:@"CFBundleShortVersionString"];    
    
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    
        NSString *lastRunVersion = [defaults objectForKey:LAST_RUN_VERSION_KEY];
    
        if (!lastRunVersion) {
             [defaults setObject:currentVersion forKey:LAST_RUN_VERSION_KEY];
             return YES;
            // App is being run for first time
        }
        else if (![lastRunVersion isEqualToString:currentVersion]) {
            [defaults setObject:currentVersion forKey:LAST_RUN_VERSION_KEY];
            return YES;
            // App has been updated since last run
        }
        return NO;
    }
  • 相关阅读:
    打造jQuery的高性能TreeView
    结构化日志类库 ---- Serilog库
    项目管理上的失误和应对措施
    Android分类导航
    Android破解
    Android开发入门
    安装 Android Studio 2.3 详细过程及错误解决
    Python学习思维导图
    设计模式的六大原则 ---- 理论知识
    日志的艺术(The art of logging)
  • 原文地址:https://www.cnblogs.com/someonelikeyou/p/3711261.html
Copyright © 2020-2023  润新知