IOS中如何判断APP是否安装后首次运行或升级后首次运行
对于是否为首次安装的App可以使用如下方法来判断
- [[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"];
如果App是通过App Store升级的话可以通过版本号来判断
- [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
实际使用可以在didFinishLaunchingWithOptions:中添加如下代码
- if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {
- [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
- NSLog(@"安装之后首次开启App");
- //获取当前App版本号并存入NSUserDefaults中
- NSString* appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
- NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
- [userDefaults setObject:appVersion forKey:@"appVersion"];
- [userDefaults synchronize];
- }
- else {
- //根据版本号判断是否更新后首次启动
- NSString* appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
- NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
- NSString* localVersion = [userDefaults stringForKey:@"appVersion"];
- if ([appVersion isEqualToString:localVersion]) {
- NSLog(@"安装或升级之后并非首次开启App");
- }
- else {
- NSLog(@"升级之后首次开启App");
- //将当前App版本号存入NSUserDefaults中
- [userDefaults setObject:appVersion forKey:@"appVersion"];
- [userDefaults synchronize];
- }
- }
IOS中如何判断APP是否安装后首次运行或升级后首次运行的更多相关文章
- iOS中 CocoaPods Mac App的安装和使用 韩俊强的博客
CocoaPods Mac App的安装和使用 CocoaPods桌面应用版下载地址:https://cocoapods.org/app打开应用会提示你是否安装命令行工具,选择install就也可以在 ...
- iOS中怎么判断可变和不可变的坑(更正版)
iOS中怎么判断可变和不可变的坑 怎么判断NSString和NSMutableString呢 看题 BOOL result = [" isKindOfClass:[NSMutableStri ...
- 在web浏览器中判断app是否安装并直接打开
最近公司App产品在运营推广上有一个需求,就是要求可以让用户在访问我们的推广网页时,就可以判断出这个用户手机上是否安装了我们的App,如果安装了则可以直接在网页上打开,否则就引导用户前往下载.从而形成 ...
- iOS 中如何判断当前是2G/3G/4G/5G/WiFi
5G 什么的,还得等苹果API更新啊,不过将来还是这个处理过程就是了. 关于判断当前的网络环境是2G/3G/4G,这个问题以前经常看到,最近在一工程里看到了如果判断的API.而在撸WebRTC音视频通 ...
- iOS中如何知道app版本已更新
主要用于程序升级,开启程序后是否显示新特性两个方面. 1.苹果app版本 苹果规定,程序的版本只能升不能降.例如1.0->1.1可以,1.1->1.0就不可以,不允许上架. 2.app版本 ...
- appium 判断app是否安装
#coding:utf-8 #Import the common package import os import unittest from appium import webdriver from ...
- iOS中html打开APP传参
1.在项目info.plist中添加URL Types以供html调用 2.html代码 <html> <head lang="en"> <meta ...
- iOS中两个APP之间的跳转和通信
app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...
- 判断app是否安装
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setData(Uri.fromPar ...
随机推荐
- js调试技巧 Firefox调试技巧汇总
Firebug入门指南 : http://www.ruanyifeng.com/blog/2008/06/firebug_tutorial.html Firebug控制台详解: htt ...
- select option jquery javascript
jQuery获取Select选择的Text和Value: $('#myselect').find('option:selected').attr('ent_id'); $('#ent_id' ...
- [原创] 对于深度学习(deep learning)在工业界的应用现状和突破 [by matthewbai]
现状: 1. 目前大家对于大部分需求,通常采用multiple layer,units in each layer也是人工订好的(虽然可以做稀疏,但是在same layer范围内竞争). 2. 网络结 ...
- php.ini 中开启短标签 <?=$?>
制参数: short_open_tag = On如果设置为Off,则不能正常解析类似于这样形式的php文件:<?phpinfo()?> 而只能解析<?phpphpinfo()?> ...
- Windows系统下用命令行编译C/C++程序过程总结
转自:http://www.cnblogs.com/caikehe/archive/2013/01/12/2858017.html (1)先用记事本编写如下所示的代码,并另存为hello.cpp,假设 ...
- C#总结2
第三章 对于继承:继承是根据父类创建新子类的过程: 对于继承:例: Public class Father { public void say() { //dosomething } } Pu ...
- JS HTML标签尺寸距离位置定位计算
四种浏览器对 clientHeight.offsetHeight.scrollHeight.clientWidth.offsetWidth 和 scrollWidth 的解释差异 网页可见区域宽:do ...
- [转]第一章 Windows Shell是什么 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987862】
一个操作系统外壳的不错的定义是它是一个系统提供的用户界面,它允许用户执行公共的任务,如访问文件系统,导出执行程序,改变系统设置等.MS-DOS有一个Command.COM扮演着这个角色.然而Windo ...
- linux启动报错:kernel panic - not attempted to kill init
系统类型:CentOS 6.4(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 解决办法: 系统启动的时候,按下‘e’键进入g ...
- html19-----视频,音乐的插入
视频格式 MP4 格式是一种新的即将普及的因特网视频格式.HTML5 .Flash 播放器以及优酷等视频网站均支持它. 格式 文件 描述 AVI .avi AVI (Audio Video Inter ...