iOS 监测应用是否是第一次打开&监测应用是否已经更新

解决方案:在AppDelegate.h中的didFinishLaunchingWithOptions里面添加:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    NSLog(@"did Finish Launching With Options");

    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunched"]){
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App was already launched.");
    }
    else{
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App's first launch.");

        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isFirstLaunched"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

    if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"clientVersion"] isEqualToString:CLIENT_VERSION]) {
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App version remains the same.");
    }
    else{
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App version did update.");
        [[NSUserDefaults standardUserDefaults] setObject:CLIENT_VERSION forKey:@"clientVersion"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

    return YES;
}

在App-Prefix.pch中定义CLIENT_VERSION:

    #define CLIENT_VERSION [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

参考链接:http://stackoverflow.com/questions/9964371/how-to-detect-first-time-app-launch-on-an-iphone/9964400#9964400

时间: 2024-10-09 20:35:00

iOS 监测应用是否是第一次打开&监测应用是否已经更新的相关文章

猫猫学iOS 之第一次打开Xcode_git配置,git简单学习

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会报错: The working copy "測试" failed to commit files. * Please tell me who you are. Run git config –global user.email "[email protected]" g

检測用户是否是第一次打开应用

非常多时候我们须要检測用户是不是第一次打开应用,从而初始化一些数据,或者打开引导界面等等. /*方法一: * 首次打开的时候获取isFirstIn值,默认值为false * 获得false,证明不是第一次打开 * 获得true,证明是第一次打开:然后把isFirstIn值设为false * */ SharedPreferences sp = getSharedPreferences("isFirstIn", Activity.MODE_PRIVATE); boolean isFirst

excel 2007第一次打开时显示there was a problem sending command to the program,再打开一次就能打开了。

excel 2007第一次打开时总是显示there was a problem sending command to the program. 关闭后打开一次就能打开了. 由于装的东西太多,初步怀疑是兼容性的问题. 在Excel option里面的add-in 和 trusted publisher 里面去掉非office的插件. 如下图: 保存后,再次打开, 问题解决. excel 2007第一次打开时显示there was a problem sending command to the p

解决Sharepoint每天第一次打开速度慢的问题

每天第一次打开Sharepoint的网站会非常慢,下面是解决这个问题的几个方法. 添加crl.microsoft.com到Hosts文件,IP地址指向服务器本机. 允许服务器直接连接到crl.microsoft.com. 修改服务器注册表.禁止所有用户使用CRL检查,具体修改如下. 注册表地址: [HKEY_USERS/<userid>/Software/Microsoft/Windows/CurrentVersion/WinTrust/Trust Providers/Software Pub

Android第一次打开应用程序,实现向导界面

转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/42079167 先说下思路:1.利用Preference存储数据,来记录是否是第一次打开软件 2.利用ViewPager实现几个图片之间的切换,在每一个图片下方用代码画圆圈,圆圈会跟着图片的改变而改变. 3.在最后一张图片.加入button点击事件.进入正式界面. 程序尽管非常easy,可是非常有用. 看下效果图: watermark/2/text/aHR0cDovL2Jsb

iOS 判断View 是否是第一次显示

在实现某些需求的时候会有这样的情况,页面第一次加载显示的时候需要某些操作,而以后就不需要重复执行了, 一般这种处理都放在- (void)viewDidLoad或- (id)init因为一般这两个函数除了在第一次显示或初始化以后就不会走了. 如果反过来呢页面第一次加载显示的时候不需要某些操作,但是如果是非第一次就需要做些判断,这个时候就需要做一些处理. 我选择了用计数来控制通过-(void)viewDidAppear:(BOOL)animated来控制 做法就是全局一个int isfirst 在-

Android App 第一次打开时的引导界面

Android App 第一次打开时的引导界面,这个需求是非常多的.在写新项目的时候,刚好要用到,在网上找了一下 demo,没发现非满意的.所以只好自己动手写一个,分享一下,避免以后大家重复造轮子.效果图如下(虽然有点丑) 上面这个就是引导界面 GuideActivity 的界面了,实现思路很简单:主界面用 FrameLayout 布局,后面用 ViewPager 装载图片.下面几个小点指示当前滑动到哪个界面了,因为没现在的控制可用,所以自定义了一个 InidcatorView,布局文件如下 <

IOS开发调用系统相机和打开闪光灯

IOS开发调用系统相机和打开闪光灯      今天给大家分享一下如何调用iphone的拍照功能和打开闪光灯,有些代码我也不太理解,很多是在网上借鉴其他人的.IOS有两种的拍照和视频的方 式:1.直接使用UIImagePickerController,这个类提供了一个简单便捷的拍照与选择图片库里图片的功能.2.另一种是通过 AVFoundation.framework框架完全自定义拍照的界面和选择图片库界面.我只做了第一种,就先给大家介绍第一种做法: 一.首先调用接口前,我们需要先判断当前设备是否

Android应用第一次打开,引导界面的实现

转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/42079167 先说下思路:1.利用Preference存储数据,来记录是否是第一次打开软件 2.利用ViewPager实现几个图片之间的切换,在每个图片下方用代码画圆圈,圆圈会跟着图片的改变而改变. 3.在最后一张图片,添加button点击事件,进入正式界面. 程序虽然很简单,但是很实用. 看下效果图: 我们会看到圆圈的点会根据图片改变而改变. 下面开始讲解: 首先是act